AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Plugin für eigenes Programm schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Plugin für eigenes Programm schreiben

Offene Frage von "torud"
Ein Thema von Luckie · begonnen am 24. Apr 2004 · letzter Beitrag vom 1. Apr 2005
Antwort Antwort
Seite 2 von 3     12 3      
orabimus
(Gast)

n/a Beiträge
 
#11

Re: Plugin für eigenes Programm schreiben

  Alt 26. Mär 2005, 01:00
Hi Luckie,

wenn ich dein Demo richtig verstehe:

Das Hauptprogramm sucht die passenden DLL(s) und erzeugt dafür Menuitems im Hauptprogramm?

Beim Anklicken eines dieser neuen Menuitems im Hauptprogramm passiert dann was?

Das Plugin schickt einen "statischen" Befehl an das Hauptprogramm zurück und das Hauptprogramm tut dann das, was es sowieso schon ohne Plugin kann?

Entweder habe ich dein Demo überhaupt nicht kapiert oder es hat mit Plugins (noch recht) wenig zu tun

Plugins bringen m.M.n. nur was, wenn sie mit dem Hauptprogramm auch Daten - die irgendwie gegenseitig übergeben werden können - austauschen können.

Zur Plugin-Programmierung bring Google leider so gut wie nix Brauchbares, daher trotzdem vielen Dank für deinen Ansatz!!!

Erhol dich gut in Irland!

lg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Plugin für eigenes Programm schreiben

  Alt 26. Mär 2005, 01:42
Wo kann denn das Programm was, was es schon ohne PlugIn könnte? Wenn du mal genauer hingekuckt hättest, dann würdest du sehen, dass die Dialoge, die erscheinen, wenn man auf die Menüeinträge klickt, aus den PlugIn DLL kommen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
orabimus
(Gast)

n/a Beiträge
 
#13

Re: Plugin für eigenes Programm schreiben

  Alt 27. Mär 2005, 04:34
Mir sehr peinlich aber leider wahr:

Mein Delphi hat mir die "FormUnit.pas" aus dem Plugin-Ordner auch im Hauptprogramm "PluginDemo.dpr" deiner Demo angezeigt

Nehme daher Alles zurück und behaupte vorsichtshalber das Gegenteil

Bis auf:

Zur Plugin-Programmierung bring Google leider so gut wie nix Brauchbares, daher trotzdem vielen Dank für deinen Ansatz!!!

Erhol dich gut in Irland!

lg

Edit: Und öftermal nach Mitternacht habe ich vielleicht manchmal "Konzentrationsschwächen"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Plugin für eigenes Programm schreiben

  Alt 27. Mär 2005, 15:09
Das ganze ist ja nicht mehr ale Proof of Concept. Da die Hostanwendung ja selber nichts kann, war es eben auch schwer bis unmöglich dass die PlugIns was sinnvolles machen. Würde ich eine Plaugin fähige Anwendung entwerfen müssen, dann würde ich eine DLL schreiben, die alles nötige exportiert. Und wenn dann jemand kommt und sagt, "mein Plugin bräcuhte noch das und as aus deiner Anwendung" (Hanle auf Edits oder Menüs oder irgendwelche Pfade, dann kann man die DLL einfach ergänzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#15

Re: Plugin für eigenes Programm schreiben

  Alt 1. Apr 2005, 13:58
Kann mir denn eigentlich jemand sagen, wie ich nun eigentlich vom Hauptformular auf ein Plugin zugreifen kann, von dem ich gar nicht weiss, was es kann, oder wie ich dem Plugin Daten senden kann?
Danke
Tom
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#16

Re: Plugin für eigenes Programm schreiben

  Alt 1. Apr 2005, 14:04
Wenn du nicht weißt, was es kann, dann ist es kein Plugin für deine Anwendung, denn du gibst vor, wie sich ein Plugin zu verhalten hat. Was es intern macht, spielt keine Rolle, solange es sich bspw. mit einer bestimmten Funktion beim Hauptprogramm anmeldet, und solange der Aufruf der Plugin-Funktion durch einen bestimmten Befehl festgelegt ist. Nach dem Muster funktionieren IMHO alle Plugins.
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Plugin für eigenes Programm schreiben

  Alt 1. Apr 2005, 14:07
Zitat von torud:
Kann mir denn eigentlich jemand sagen, wie ich nun eigentlich vom Hauptformular auf ein Plugin zugreifen kann, von dem ich gar nicht weiss, was es kann, oder wie ich dem Plugin Daten senden kann?
Du wilst gar nicht vom Hauptprogramm auf ein PlugIn zugreifen

PlugIns machen i.d.R. folgendes:

- sie greifen auf eine Schnittstelle zu, die das Hauptprogramm bereitstellt, um z.B. irgendwelche Daten lesen zu können. Z.B. Stellt ein Grafikprogramm über die Schnittstelle einen Zugriff auf das aktuelle Bild bereit. Das Plugin kann dann z.B. das Canvas des Bildes bearbeiten

- sie stellen dem Hauptprogramm "Aktionen" zur Verfügung - in Form von Menüpunkten - die man dann im Hauptprogramm auswählen kann, die Abarbeitung findet aber widerum im PlugIn statt

Gruß Igotcha
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#18

Re: Plugin für eigenes Programm schreiben

  Alt 1. Apr 2005, 16:57
ein grosses Aah hat sich soeben eingestellt!

Wie könnte ich also dem Plugin teile meiner Datenbank zur Verfügung stellen?
Wenn ich im Plugin selbst auf mein Datenmodul zugreifen will und so was probiere schmiert mir alles ab:

Plugin.AdoTable.Assign(Datenmodul.AdoTable); Und das, obwohl Datenmodul per uses dem Plugin bekannt ist.

Was mache ich falsch?
Danke
Tom
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Plugin für eigenes Programm schreiben

  Alt 1. Apr 2005, 17:15
Zitat von torud:
ein grosses Aah hat sich soeben eingestellt!

Wie könnte ich also dem Plugin teile meiner Datenbank zur Verfügung stellen?
Wenn ich im Plugin selbst auf mein Datenmodul zugreifen will und so was probiere schmiert mir alles ab:
Mal ein Beispiel:

Ich arbeite selbst an einer modularen Awendung, wo das Hauptprogramm nur eine minimale technische Funktionalität und rein gar keine fachliche besitzt - diese steckt in den Modulen (ich arbeite mit BPLs und da stecken die Forms, etc. drin).

Da dies hauptsächlich datenbankbasierte Module sind, stelle ich vom Hauptprogramm aus verschiedene Query-Komponenten zur Verfügung, mit denen die Module arbeiten können.

Dazu ist es bei mir notwendig, dass die Module alle von einer gemeinsamen Basisklasse abgeleitet sind und die "MainForm" in der Uses-Klausel aufnehmen. Damit aus den Modulen und dem Hauptprogramm später auch "eine" Applikation wird, sind alle Module mit Laufzeitpackages kompiliert.

In den Modulen greife ich dann auf eine Query z.B. so zu:

Delphi-Quellcode:

MainForm.AIOSZQR0.SQL.Text:='SELECT o.* FROM kom_pup_org o, kom_pup_org_user u WHERE o.o_id = u.org_id AND u.user_id =:user ORDER BY o.o_order DESC';
MainForm.AIOSZQR0.ParamByName('user').AsInteger:=AIOSUserID;
MainForm.AIOSZQR0.Open;
Wobei "AOISUserID" z.B. auch eine Variable des Hauptprogramms ist, auf die alle Module zugreifen können.

Diese jetzt endlich für mich funktionierende Technik habe ich auch nicht alleine zustande gebracht, sondern ein Gerüst gefunden (Dank nochmal an Hagen), welches ich mir auf meine eigenen Bedürfnisse angepasst habe. Grundsätzlich ist dieses Thema nicht einfach, da man verschiedene, essentielle technische Sachen beachten muß, damit wirklich später alles in einem "Applikation-Raum" zusammenspielt.

Diese ganzen Demos á la "Eine Form aus einer DLL anzeigen" etc. sind meiner Meinung nach völlig für den Eimer, da sich diese geschickt um die eigentlichen Probleme drücken.

Gruß Igotcha
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#20

Re: Plugin für eigenes Programm schreiben

  Alt 1. Apr 2005, 18:54
Tja den Eindruck habe ich auch!

Vielleicht könnte es mir schon helfen, wenn ich mir mal grundsätzlich ansehe, wie man ein DLL erstellt und zur Laufzeit einbindet, denn das ist doch eigentlich auch NUR ein Plugin, oder?

Jedenfalls bin ich mit den Tuts und Demos nur bedingt klargekommen. Meine Anwendung hat mich sehr intensiv mit Fehlermeldungen und Abstürzen bombardiert, als ich erstmalig versuchte die Plugins zu laden. Das selbst ging ja noch. Das Anzeigen der Forms der Plugins auch, aber sobald das Wichtigste, nämlich die Kommunikation zwischen beiden kam, war schluss!

Leider habe ich von bpl´s noch nichts gehört. Werde mal sehen, wo man noch Hilfe finden kann, denn ich muss dieses mal erstmalig modular arbeiten und eigentlich wil ich das auch endlich mal kapieren und nutzen!

Danke Tom
Danke
Tom
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:34 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