Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#6

Re: DLL mehrfach im Programm verwenden

  Alt 21. Jan 2009, 21:41
Moin !

Ich habe mal eine Demoanwendung erstellt mit einer DLL. Die Aufrufe der DLL Methoden bekommen einen Zeiger mitgeliefert so wie es SirThornberry vorgeschlagen hat.

Das Konstrukt funktioniert sogar erstaunlich gut. Auch wenn ich die DLL mehrfach verwende klappt alles.

Ich wollte nur nochmal nachfragen ob an meinem Aufbau noch irgendwas nicht stimmt oder ob das ggf. noch anders löst. Möchte nur vermeiden da in neue Fallen zu tappen ...

Vor allem der Aufruf mit Formular aus der DLL raus ist für mich wichtig. Da würde mich mal interessieren ob das ein brauchbarer Weg ist. Funktionieren tut es jedenfalls prächtig


Und dann hät ich noch ne Randfrage zu meinem Type Konstrukt ...
Delphi-Quellcode:
type
  TDeviceInfos = packed record
    Test : String;
    Zahl : Double;
    Datum : TDateTime;
    Memo : TMemo;
  end;
Das muss ja sowohl in der EXE als auch in der DLL definiert sein. Nun brauchen wir aber nicht in jeder DLL den Zugriff z.B. auf das dort angegebene Memo. Wenn ich nun in der DLL das angebe:
Delphi-Quellcode:
type
  TDeviceInfos = packed record
    Test : String;
    Zahl : Double;
    Datum : TDateTime;
  end;
und in der EXE alles beim alten belasse dann funktionieren die Zugriffe trotzdem. Man darf allerdings nur Elemente von unten her wegnehmen. Ich denke weil sonst die Längen und damit die Zugriffe auf die einzelnen Elemente über den Pointer nimmer passen.
Also wie gesagt, das geht, aber nu stell ich mir doch die Frage ... Ist sowas erlaubt? Oder anders gefragt ... Kann das irgendwann man zu ungeahnten Problemen führen?
Angehängte Dateien
Dateityp: zip dll_test_189.zip (448,3 KB, 4x aufgerufen)
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat