Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kommunikation zwischen Hauptanwendung und Plugin (https://www.delphipraxis.net/125090-kommunikation-zwischen-hauptanwendung-und-plugin.html)

Apollonius 6. Dez 2008 14:10

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Du übergibst der DLL doch gar kein Interface.

RWarnecke 6. Dez 2008 14:18

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Zitat:

Zitat von Apollonius
Du übergibst der DLL doch gar kein Interface.

Das kann ich doch als Property übergeben oder ?

Apollonius 6. Dez 2008 14:21

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Als Property wovon? Du solltest deine TLoadPlugin-Definition um einen Parameter für das Interface erweitern.

RWarnecke 6. Dez 2008 14:30

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Zitat:

Zitat von Apollonius
Als Property wovon? Du solltest deine TLoadPlugin-Definition um einen Parameter für das Interface erweitern.

Ich setze eine Variable in die Definition und wie kann ich dann darauf zugreifen ? Ich komme da irgednwie gerade nicht ganz mit.

Apollonius 6. Dez 2008 14:33

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Aus dem Hauptprogramm rufst du doch die vom Plugin exportierte Funktion LoadPlugin auf. Das ist die Gelegenheit, um dem Plugin das Interface zu übergeben.

RWarnecke 6. Dez 2008 14:45

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Zitat:

Zitat von Apollonius
Aus dem Hauptprogramm rufst du doch die vom Plugin exportierte Funktion LoadPlugin auf. Das ist die Gelegenheit, um dem Plugin das Interface zu übergeben.

Ok, das mache ich ja jetzt schon. Nur wenn ich jetzt in der Execute-Function in der DLL die Funktion des Interfaces aufrufe, bekomme ich immer eine EAccessViolation in der folgenden Zeile :
Delphi-Quellcode:
var
  PlgApp : IApp;

{...}

  Form1.Label1.Caption := PlgApp.GetTheCaption;

Apollonius 6. Dez 2008 14:51

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Zitat:

Zitat von RWarnecke
Ok, das mache ich ja jetzt schon.

Wo?

RWarnecke 6. Dez 2008 15:16

Re: Kommunikation zwischen Hauptanwendung und Plugin
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Apollonius
Zitat:

Zitat von RWarnecke
Ok, das mache ich ja jetzt schon.

Wo?

Die aktualiseirten Dateien im Anhang. Mittlerweile habe ich es hinbekommen, dass er die Funktion aus der Hauptanwendung ausführt. Nur beim Schliessen der Form, kommt wieder eine EAccessViolation. Ich schätze, dass ich da irgendwas nicht freigebe oder zuviel. So sieht die Startfunktion für das Plugin aus :
Delphi-Quellcode:
procedure TMainForm.ExecutePlugIn(Sender: TObject);
begin
  if Sender = nil then
    Exit;
  if not (Sender is TMenuItem) then
    Exit;
  if FPlugIns[TMenuItem(Sender).Tag].PlugIn <> nil then
    FPlugIns[TMenuItem(Sender).Tag].PlugIn.Execute;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 Uhr.
Seite 2 von 2     12   

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