Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DLL wird nicht geladen - Warum nicht??? (https://www.delphipraxis.net/51821-dll-wird-nicht-geladen-warum-nicht.html)

delphifan2004 20. Aug 2005 21:15

Re: DLL wird nicht geladen - Warum nicht???
 
Zitat:

Zitat von tommie-lie
Versuch also vorher mal iPlg explizit auf nil zu setzen

Habe ich gemacht. Ich habe die Execute-Methode auch um folgende Zeile erweitert:

Delphi-Quellcode:
ShowMessage('Execute-Methode wird aufgerufen!');
Sie steht vor der Zuweisung der Editorsachen.

Ergebnis: Der Aufruf der Methode funzt. Ich kriege die Meldung zu sehen.

Zitat:

Zitat von tommie-lie
Das könnte auch am restlichen Aufruf liegen. Stehen dem Plugin alle Informationen (Editor) zur Verfügung? Hast du schon versucht die DLL zu debuggen?

Die Dll habe ich noch nicht versucht zu debuggen. Noch nie gemacht.
Daher kann ich bisher nur vom Quelltext ausgehen. Der entspricht dem aus dem Thread mit dem Plugin-Beispiel ohne eigene Anpassungen. (nur kopiert).

Da werd ich mal versuchen, ob mit Debugging was zu sehen ist.

Bis bald

Delphifan2004

delphifan2004 21. Aug 2005 08:46

Re: DLL wird nicht geladen - Warum nicht???
 
Hallo!

Zitat:

Zitat von tommie-lie
Stehen dem Plugin alle Informationen (Editor) zur Verfügung?

Der unten stehende Quelltext läßt mich das vermuten!

Delphi-Quellcode:
type
  TApp = class(TInterfacedObject, IApp)
  private
    FEditor: IEditor;
  public
    constructor Create;
    ... //Rest zum Verständnis hier nicht relevant
  end;

constructor TApp.Create;
begin
  inherited Create;
  FEditor := TEditorAdapter.Create(Form1.SynEdit); //SynEdit ist nun der konkrete Editor
                                                   //der wird aber an das Interface zugewiesen
end;
Die nächste Frage gehört zwar streng genommen in einen eigenen Thread, aber da sie inhaltlich zu meinem aktuellen Problem gehört (Dll für Plugin mittels Interface), stelle ich sie dennoch gleich hier, in der Hoffnung, das es darauf eine einfache Antwort gibt. (geeigneter externer Debugger o.ä.)

Zitat:

Zitat von tommie-lie
Hast du schon versucht die DLL zu debuggen?

Definitiv Nein. Wie mache ich das? Die Dll ist unter Delphi ein eigenes Projekt. In D7 Ent. Trial gab es, glaub ich eine Funktion "Mit Prozess verbinden..." Nützt mir aber nix, da ich nur D7 Personal habe und da fehlt diese Funktion.

Da ich das vorliegende Problem ja, hoffe ich zumindest, irgendwann gelöst haben werde, ergeben sich für mich folgende Überlegungen:

ActiveX bzw. COM ist doch sicher ein Standard. So müßte es doch vordefinierte Interfaces für alle nur möglichen Anwendungsfälle geben. Allerdings sind diese, wie ich bei "Typbibliothek importieren" sehe, ungleich komplexer. Ein eigenes kleineres Interface für die konkrete Anwendung ist da sicher für den Anfang besser. Wenn ich aber eine Standard-Schnittstelle bereitstellen will? Delphi läßt sich ja beispielsweise auch durch Plugins erweitern. Wo finde ich da eine Spezifikation? (nicht für Delphi Schnittstelle, dafür gibt es die Doku, sondern für den allgemeinen Standard) Da der Aufwand hier für das im Thread behandelte Problem schon beachtlich ist, will ich, wenn ich mich schon damit beschäftige, gleich was richtiges machen, sprich, ein standardisiertes Interface haben. Es geht konkret um einen Editor, der durch Plugins erweiterbar sein soll. Wenn ich den später als OpenSource verfügbar mache und jemand hat einen Erweiterungswunsch, will ich einfach ein zusätzliches Plugin schreiben können, das den Wunsch erfüllt.

Es grüßt

Delphifan2004

schöni 21. Aug 2005 18:57

Re: DLL wird nicht geladen - Warum nicht???
 
Hallo!

Zitat:

Zitat von Delphifan2004
ActiveX bzw. COM ist doch sicher ein Standard.

Richtig. Also solltest Du ActiveX-Controls für Deine Anforderungen verwenden. Auch wenn das bissl Einarbeitungszeit erfordert. Damit hast Du dann auch den Standard, den Du suchst. Un-
abhängig davon würde ich an Deiner Stelle trotzdem erst noch bissl mit dem Beispielprogramm hier rumspielen. Das hilft später, die komplexeren Dinge besser zu verstehen.

Viel Erfolg wünscht

schöni


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz