Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
30.03.2002, 00:07
Leviathan



hallo

ich habe eine dll in c++ geschrieben und will nun einen dialog aufrufen.
ich habe mir also den dialog sammt klasse (abgeleitet von CDialog natürlich) erstellt, eine instanz der klasse im code der dll erstellt und ihre methode DoModal() aufgerufen. der dialog wird aber jetzt nicht angezeigt sondern es kommt eine debug assertition failed (oder so).

Wie geht es nun richtig, oder kann man in dlls keine dialoge einbauen (MessageBox geht)?

--

Entities: HL | HL²
Kompilierfehler
r_speeds | mehr über r_speeds

zum Seitenanfang zum Seitenende Profil || Suche
001
30.03.2002, 00:41
TheTinySteini



Das geht, das geht. Hab ich jedenfalls schon mal gemacht =)

Liegt vielleicht an deinem Code? Sehr viel weitere Informationen gibst du ja nicht gerade...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
002
30.03.2002, 01:58
Leviathan



ja da gibt es nicht viel zu zu sagen
der dialog hat ein static-textfeld, einen button ok und einen cancel (IDOK und IDCANCEL), die klasse hab ich so genommen wie sie ist

die dll habe ich für ein visualbasic-programm entwickelt, mein testprogramm dafür ist aber in c++ geschrieben (ich kann kein vb).
die den dialog aufrufende funktion ist mit __stdcall deklariert.

nochwas: scheinbar führen alle methoden der dialogklasse zu einer debug assertition, nicht nur domodal. GetParentWindow hats auch gemacht und 0 zurückgegeben.

danke schonmal

--

Entities: HL | HL²
Kompilierfehler
r_speeds | mehr über r_speeds

zum Seitenanfang zum Seitenende Profil || Suche
003
30.03.2002, 17:14
Diablo_bth



vielleicht probierst du es mal mit __declspec( dllexport ) ?

--

zum Seitenanfang zum Seitenende Profil || Suche
004
30.03.2002, 17:51
Leviathan



@diabolo das habe ich getan, die funktion ist auch zusätzlich noch in der linker-.def-datei eingetragen.

__declspec(dllexport) is doch nur, dass die funktion von ausserhalb der dll aufgerufen werden kann, oder?

das problem ist nicht der aufruf der funktion in der dll, der ist so wie er soll (ist eigentlich ein alphablending, das läuft so wie es soll), sondern das anzeigen des dialoges

:edit:

ich habe das was verpeilt, ich hatte das in den konstruktor der dll geschrieben.
jetzt wo ich das in der funktion habe, kommen keiner debug assertition failed mehr, allerdings kommt auch kein dialog.

--

Entities: HL | HL²
Kompilierfehler
r_speeds | mehr über r_speeds


Dieser Beitrag wurde am 30.03.2002 um 17:59 von Leviathan bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche