Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#22

Re: Eine DLL freigeben. (CallBack)

  Alt 30. Jan 2008, 18:00
Ein paar Anmerkungen:

- Diese Konstantendefinition für die Message kann sonstwo stehen, du kannst diese einmal in der Hauptunit deklarieren und dann nochmal in der DLL. Problem ist einfach nur, dass du bei einer Änderung der Message ID zwei Quellen aktualisieren musst und somit eine Fehlerquelle mehr vorhanden ist. Abhilfe schafft hier am besten wie von oki vorgeschlagen, eine Unit zu bauen, welche im Interface Abschnitt einfach nur diese Konstantendefinition enthält und dann vom Formular der App genauso angezogen werden kann wie von der DLL.

- Du benutzt beim Aufruf der DLL die globale Variable der Mainform innerhalb ihrer eigenen Methode. Das ist böse, sehr böse. Übergebe das Handle direkt, schliesslich befindest du dich in der Methode des Form, somit einfach nur Handle beim Aufruf oder halt Self.Handle, aber nicht mainform.Handle.

- Ich verstehe den Kommentar zu dem Library Handle Field in der Mainform Klasse nicht. Warum muss das eine static var sein? Hast du mehrere Mainforms?

- Warum hast du das Mainform Handle als globale Variable innerhalb der DLL abgelegt und nicht als Member in dem Formular an sich? Schliesslich weist du den Member innerhalb der Methoden zu und benutzt ihn ausschliesslich innerhalb der Klasse.
  Mit Zitat antworten Zitat