Du bist nicht angemeldet.

Werbeanzeige

1

21.04.2003, 16:14

DLL Files beim Laden Parameter übergeben.

Bei einer Exe weis ich wie man ihr Parameter übergeben kann. In der WinMain Funktion gibt es dazu ja auch extra einen Parameter wo das anhängsel gespeichert ist.

In der DLLMain Funktion gibt es jedoch nichto so einen Parameter. Oder es gibt zwei Varainten der Funktion 8)
Wie kann ich also einer DLL beim Laden Parameter übergeben? Etwa so was

Quellcode

1
LadeDLL("my.dll?data=1");

Ist natürlich nur Pseudo Code ;)
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

David Scherfgen

Administrator

Beiträge: 10 334

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

21.04.2003, 16:33

Ich glaube nicht, dass das geht. Aber jede DLL könnte doch z.B. eine "Init"-Funktion besitzen, und die erhält dann Parameter. Die Anwendung lädt die DLL, sucht sich diese Funktion und ruft sie dann auf, mit den Parametern.

3

21.04.2003, 16:42

Irgendwie muss es ja gehen.

Ein Beispiel:
Wenn ich auf einer Webseite Anzeigen möchte ob ein User in ICQ Online ist oder nicht, gibt es dafür eine DLL. Dieser DLL wird per Parameter die ICQ Nr. übergeben, und keine DLL Funktion aufgerufen.

Wenn das da geht, muss es doch auch in C++ gehen, oder ???
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

4

21.04.2003, 16:51

Das sind aber meines wissens nach keine DLLs, wie sie in c++ verwendet warden, sondern irgendwelche anderen.
Ich könnt mir vorstellen, das das irgenwelche php oder asp dateien mit ner anderen endung sind.
In a world without fences and walls - who needs windows and gates ?

http://www.Paid4Mailer.de/?refid=8422

5

21.04.2003, 17:02

Das währe natürlich möglich.

Währe nur sehr Praktisch, wenn man einer DLL Parameter übergeben könnte. Dann bräuchte man nicht erst aufwendig, eine Funktion in der DLL erstellen und dann noch mittels GetProcAddress() hollen.

So könnte eine Instanz sich Automatisch in der DLL erzeugen und sich dann bei irgend einem Server Registrieren. Die Adresse des Servers würde dann mittels Parameter übergeben.
Beim Löschen der DLL wird auch gleich die Instanz des Objektes mit gelöscht. Das währe für PlugIn's sehr Praktisch. Dann müste sich der PlugIn Manager nicht die Informationen hollen, sondern bekommt sie gleich beim Laden geliefert ;)
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

6

22.04.2003, 14:47

Na dann viel spaß beim programmieren von sowas.

Ps. Rechtschreibung ist nicht so ganz deine stärke oder. :P
In a world without fences and walls - who needs windows and gates ?

http://www.Paid4Mailer.de/?refid=8422

David Scherfgen

Administrator

Beiträge: 10 334

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

22.04.2003, 15:32

Hehe, das ist wohl wahr! Ist aber sicher nicht böse gemeint, Stephan ;)
Im C++-Forum gibt's so eine schöne automatische Korrektur... die baue ich vielleicht auch mal ein ;)

EDIT: Korrekte Schreibweise des Vornamens von DragonMaster ;)

8

22.04.2003, 17:01

:angel: Kenne nur die C/C++ Syntax 8)

PS: Nur so neben bei. Ich werde Ste(ph)an geschrieben ;)
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

David Scherfgen

Administrator

Beiträge: 10 334

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

22.04.2003, 17:10

Mist, sorry, das verwechsle ich immer, ich kenne nämlich mehrere ;)

10

23.04.2003, 00:06

Mal ne andere Frage. Hat aber auch mit DLL's zu tun ;D

Es gibt eine Funktion mit der man einen String, der den Namen einer Funktion inkl. Parameterliste, in einen passenden String konvertiert. So das man mit GetProcAddress() auch C++ Funktionen laden kann. Ich weis nur nicht mehr wie diese Funktion heißt :crying:
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige