AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Kommunikation zwischen Hauptanwendung und Plugin
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation zwischen Hauptanwendung und Plugin

Ein Thema von RWarnecke · begonnen am 30. Nov 2008 · letzter Beitrag vom 6. Dez 2008
Antwort Antwort
Seite 2 von 2     12   
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 15:10
Du übergibst der DLL doch gar kein Interface.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#12

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 15:18
Zitat von Apollonius:
Du übergibst der DLL doch gar kein Interface.
Das kann ich doch als Property übergeben oder ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 15:21
Als Property wovon? Du solltest deine TLoadPlugin-Definition um einen Parameter für das Interface erweitern.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#14

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 15:30
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.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 15:33
Aus dem Hauptprogramm rufst du doch die vom Plugin exportierte Funktion LoadPlugin auf. Das ist die Gelegenheit, um dem Plugin das Interface zu übergeben.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#16

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 15:45
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;
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 15:51
Zitat von RWarnecke:
Ok, das mache ich ja jetzt schon.
Wo?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#18

Re: Kommunikation zwischen Hauptanwendung und Plugin

  Alt 6. Dez 2008, 16:16
Zitat von Apollonius:
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;
Angehängte Dateien
Dateityp: dpr bbcode_780.dpr (1,6 KB, 3x aufgerufen)
Dateityp: pas plugindefinitionunit_112.pas (1,2 KB, 5x aufgerufen)
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz