C++ ile ARX programlama
master *.cpp dosyası
internet - 15.09.2005 08:20
/************************************************************************/

/*daha önceki derste Visual C'de nasıl ayarlar yapacağınız anlatılmıştır... burada da herzaman kullanabileceğiniz ve kendi fonksiyonlarınızı yazacağınız master.cpp dosyasının kodunu veriyorum... kolay gelsin.. bir sorun yaşarsanız beni aramaktan kaçınmayın*/
#include
#include
#include
#include
#include
#include
#include
#include

/************************************************************************/

static int myfunc (void) ; // kendi fonksiyonumuzun deklerasyonu

struct func_entry {
char *func_name; // Autocad kullanılacak komutun adı
int (*func)(void); // func hiçbir parametre almıyor int' dönüyor
};

/*
Burada kendi fonksiyonlarınızı tanımlıyorsunuz
*/
static struct func_entry func_table[] = {
{"C:myfunc", myfunc}, // Autocad kullanıcısı komut olarak "myfunc" yazacak

};

const int iNumCommands = sizeof (func_table)/sizeof(func_table[0]) ;
static void dofun (void) ;
static int funcload (void) ;

/***********************************************************************/
//Programımız buradan başlıyor Autocad buradan iletişim kuruyor..

extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* ptr)
{
switch(msg) {
case AcRx::kInitAppMsg:
acrxUnlockApplication(ptr);
break;
case AcRx::kInvkSubrMsg:
dofun();
break;
case AcRx::kLoadDwgMsg:
funcload();
break ;
case AcRx::kSaveMsg:
case AcRx::kEndMsg:
case AcRx::kQuitMsg:
break ;
default :
break ;
}
return AcRx::kRetOK;
}

static int funcload (void)

{
int i;

for (i = 0; i < iNumCommands ; i++) {
if (!ads_defun (func_table.func_name, (short)i)) {
ads_printf ("
***funcload failure***
") ;
break ;
}
}

ads_printf ("TabiCAD for R14 registered %d commands
",iNumCommands) ;

return (RTNORM) ;
}

static void dofun (void)
{
int iVal = ads_getfuncode();

if ((iVal < 0) |||| (iVal >= iNumCommands)) {
ads_printf ("Hiçbir fonksiyon kodu alinamadi: %d .",iVal);
return ;
}

(*func_table[iVal].func)();
}


/************************************************************************/

static int myfunc (void)
{
/*burada autocad'da iş yapacak kendi fonksiyonlarınızı yazıyorsunuz... Bundan sonraki derslerimde sizlere iş yapan fonksiyonlar vereceğim*/
return 0;
}

Yazar: internet
İçerik:
Tag: C++ ile ARX programlama master *.cpp dosyası

Yorumlar :
metal064   15.12.2008 19:18 #9771  

teşekkürler

hisimsek   27.07.2006 13:29 #437  

BİRAZ DAHA AÇIKLAYICI YANİ AYRINTIYA GİREBİLİRMİSİNİZ RİCA ETSEM

Copyright © 2004-2022 SQL: 0.093 saniye - Sorgu: 33 - Ortalama: 0.00283 saniye