
void foo1(const char*,int) { ... }
void foo2(void (*fn)(const char*,int))
{
fn("test",666);
}
...
foo2(foo1);





No nie musiałbym. Zresztą, żeby korzystać z takiej klasy, bez statycznego linkowania, czyli nieeksportowaną z ObsługaDanych.dll, musisz mieć ją w pełni zdefiniowaną w każdej bibliotece. No a wtedy idea eksportu klasy jest zupełnie bez sensu.jeżeli by się statycznie podłączyło tą biblioteke do każdej z bibliotek (a,b,c itd.) musiał byś wywołać konstruktor dla każdej biblioteki.

void * __stdcall ReturnVoidHandle() // <- wygląda jak by należała do klasy oO
{
return (void *) ObsługaDanych->GetHandle(); // <- i czy jakoś tak się da to uzyskać bo mi wywalało błąd że nie można konwertować z TObslugaDanych* do void*
}
TObslugaDanych * ObslugaDanych;
void __stdcall SetVoidHandle(void* Handle)
{
ObslugaDanych = (TObslugaDanych *) Handle; // Tu też wywala błąd (bo powinno)
}

Temat klas w dll był wielokrotnie poruszany na forum...
i czy jakoś tak się da to uzyskać bo mi wywalało błąd że nie można konwertować z TObslugaDanych* do void*


troche to zakręcone

Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości