Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

29.05.2008, 07:39

Dialogfeld in einer DLL

HI leute.
ich hab mal eine frage.
kennst einer tutorial, Hinweise oder oder oder wie ich ein DIalogfeld in einer DLL Datei bekomme?
mein ziel ist es später die dll in ein projekt zu implementieren und dann soll sich sofort das dialogfeld öffnen ich hoffe ihr könnt mir helfen.

danke schonmal im vorraus.

MFG derBauer

riCo

Treue Seele

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

2

29.05.2008, 08:23

Möchtest du eine C/C++ DLL basteln oder eine MFC-DLL?

Wenn du weißt wie du in einem "normalen" Programm einen Dialog erzeugst, ist das in der DLL nichts anderes! Du brauchst lediglich in der DLL eine Funktion zu implementieren, die dir den Dialog öffnet.
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

3

30.05.2008, 09:38

ick wollte eine MFC Dll datei stellen und diese in meinem hauptprog implementieren.
ick kenn mich leider mit dialoge nicht so aus. erstellt wird die mfc dll mit vc++ 6 und dem mfc dll assis.
hat da einer infos ?
weis jemand was ick meine.
man kann sagen dll mit fenster

riCo

Treue Seele

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

4

02.06.2008, 07:28

Du erstellst ein MFC-Projekt als DLL. Dort implementierst du deine Funktionen. Das DLL-Projekt erzeugt dir eine Library-Datei (*.lib), die du in dein Hauptprogramm einbinden kannst. (ALT+F7 --> Kategorie 'Link' --> den lib-name in das Feld 'Object/library modules:' eingeben).

Eine librarydatei wird nur erzeugt, wenn du mindestens eine Funktion exportierst!

Beispiel der DLL-Funktion:

C-/C++-Quelltext

1
2
3
4
__declspec(dllexport) int  MeineDllFunktion(VOID)
{
   ;  // ...

}



Benutzung der DLL-Funktion im Hauptprogramm

C-/C++-Quelltext

1
2
3
4
5
6
7
extern "C" __declspec(dllimport) int  MeineDllFunktion(VOID);

int main()
{
   int result = MeineDllFunktion();
   return 0;
}
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

5

04.06.2008, 23:41

cool danke das prob ich mal.
und wo finde ich die funktion zum initialisieren der MFC Dll.
ich meine zum init. des dialoges.
weist du was ick meine.

danke schonmal

riCo

Treue Seele

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

6

05.06.2008, 07:56

Wenn du mit einem Standard MFC-Dialog arbeitest (Basisklasse: CDialog), gibt es eine OnInitDialog()-Funktion, die du nur zu überschreiben brauchst.
Wenn du kein leeres MFC-Projekt erstellst, sollte die OnInitDialog()-Methode eigentlich schon existieren.
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

05.06.2008, 08:52

Zitat von »"riCo"«


Beispiel der DLL-Funktion:

C-/C++-Quelltext

1
2
3
4
__declspec(dllexport) int  MeineDllFunktion(VOID)
{
   ;  // ...

}



Benutzung der DLL-Funktion im Hauptprogramm

C-/C++-Quelltext

1
2
3
4
5
6
7
extern "C" __declspec(dllimport) int  MeineDllFunktion(VOID);

int main()
{
   int result = MeineDllFunktion();
   return 0;
}


Wieso hat denn der export kein extern "C" abbekommen? :shock:
@D13_Dreinig

8

05.06.2008, 12:26

Zitat von »"riCo"«

Wenn du mit einem allgemeine MFC-Dialog arbeitest (Basisklasse: CDialog), gibt es eine OnInitDialog()-Funktion, die du nur zu überschreiben brauchst.
Wenn du kein leeres MFC-Projekt erstellst, sollte die OnInitDialog()-Methode eigentlich schon existieren.


hi.
ich habe mit VS C++ 6.0 eine standart MFC-Dll erstellt finde aber dort keine OnInit... oder ähnliche funktion nicht.
hm komisch

riCo

Treue Seele

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

9

05.06.2008, 15:03

Dann leite die Funktion von der Basisklasse ab. Wenn du nicht weißt wie, schau am Besten mal in die MSDN oder frag bei Google nach. :)

Was möchtest du eigentlich genau machen? Dialoge kann man auch ohne MFC bauen. Das ist zwar (je nach dem was man machen möchte) schwierger, aber die MFC ist doch teilweise ganz schön bescheiden..
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

10

05.06.2008, 16:48

ich will ein interface für die dll datei basteln und mit einfügen. um z.B. auf bestimmte funktionen zu haben.

ok dann versuch ich mal das zu googlen oder bei MSDN zu schauen.
mal sehen ob ick was finde

Werbeanzeige