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

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

1

27.12.2003, 19:18

DLL-Einstiegsfunktion wird nicht ausgeführt

Hilfe (siehe Titel) !!!

Die Funktionen aus der DLL, die das Programm, mit dem ich die DLL teste, aufruft, arbeiten ganz normal. Nur die Einstíegsfunktion wird nicht ausgeführt. Das ist mir früher noch nie passiert (benutze MS VC++ 6).

Muss man da noch irgendwo etwas einstellen, damit die Einstiegsfunktion beim Prozessaufruf ausgeführt wird?

Vielen Dank im Voraus für Antworten.

Maxi

Treue Seele

Beiträge: 136

Wohnort: Müncheberg

Beruf: Ich muss noch in die Schule

  • Private Nachricht senden

2

28.12.2003, 11:06

also, bei mir gings bis jetzt immer... Vielleicht wird sie ja ausgeführt, du merkst es nur nciht. MAch doch mal ne MessageBox oder so rein?
Gruß, Maxi

Hier, die Homepage von meiner Band:
www.maxis-house.de

Könnt euch unsere ersten Songs saugen...

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

3

28.12.2003, 19:47

Ja, hab alles ausprobiert...

Auch ein neues DLL-Projekt habe ich schon erstellt. Es klappt aber immer noch nicht! ???

Es ist einach zum Verzweifeln! :crying: :crying: :crying:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

28.12.2003, 21:04

Bist Du sicher, dass das Programm auch wirklich die richtige DLL verwendet und nicht vielleicht irgendeine ältere Version, wo noch keine Message-Box in der DllMain war?
Möglicherweise gibt es jedes Mal einen Linker-Error, weil die DLL gerade noch benutzt wird und deshalb nicht überschrieben werden kann? Solche Fehler übersieht man schnell.

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

5

29.12.2003, 14:39

Zitat von »"David Scherfgen"«

Bist Du sicher, dass das Programm auch wirklich die richtige DLL verwendet und nicht vielleicht irgendeine ältere Version, wo noch keine Message-Box in der DllMain war?
Möglicherweise gibt es jedes Mal einen Linker-Error, weil die DLL gerade noch benutzt wird und deshalb nicht überschrieben werden kann? Solche Fehler übersieht man schnell.

Nein, da bin ich mir sicher, hab auch schon mehrere Varianten ausprobiert, z. B.:

- Testprogramm im selben Verzeichnis
- Testprogramm im "Debug"-Verzeichnis
- DLL wird in das Verzeichnis des Testprogrammes erstellt
- Kopieren der DLL in das Verzeichnis des Testprogrammes

wobei die älteren DLLs in den anderen Verzeichnissen nach dem Versuch immer gleich gelöscht wurden.

Die "*.Lib" wird auch korrekt eingebunden (weil die Symbole, die im Testprogramm verwendet werden, keinen Linkerfehler verursachen).

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

29.12.2003, 16:59

Zeig doch mal den Quellcode.

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

7

29.12.2003, 18:40

Quellcode

1
2
3
4
5
6
7
8
//DLL-Einstiegsfunktion
BOOL APIENTRY DLLMain (HINSTANCE Instance,
                            DWORD Reason,
                            LPVOID pReserved)
    {
    MessageBox (NULL, "DLLMain", "Hinweis", 64);
    return true;
    }


Natürlich dient dieser Code nur zum Test :) ...

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

29.12.2003, 19:27

Die Funktion muss "DllMain" heißen, nicht "DLLMain".

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

9

30.12.2003, 17:23

:lol:

Werbeanzeige