PlugIn-System

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

PlugIn-System

Beitrag von ts230 »

Hallo,
ich hab (mal wieder:D) 'ne Frage.
Gibt es irgentwelche PlugIn-Systeme die ich in eine Lazarus-Anwendung einbauen kann?
Und wenn ja,wo?
Es muss nicht sooooooooooooooooooooooo umfangreich sein.

Code: Alles auswählen

 If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: PlugIn-System

Beitrag von EugenE »

Das interessiert mich mal ^^, wenn es keins gibt könnte man ja über eins diskutieren ^^ vorallem gibt es denke 2 möglichkeiten

a) PlugIns durch Scriptsprachen wie Lua

b) PlugIns mittels *.dlls (*.so etc)
wobei man hier wieder unterscheiden sollte ob diese nur mit Pascal erstellt werden können oder das diese auch zB. mittels der Sprache C realisiert werden können


Wäre daran auch interessiert nen Universelles PlugIn System zu erstellen somit würden wa wieder was gutes für FPC-Lazarus-Gemeinde tun :)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: PlugIn-System

Beitrag von Christian »

Man kann ein pluginsystem glaub ich nicht so verallgemeinern. Es ist ja auch kein so großes problem eins zu basteln, Solang man nicht unbedingt Forms daraus laden will. Am besten macht sich eine Routine in einer dll, der man Strings übergeben kann und eine Callback dazu. Damit lässt sich dann fast alles realisieren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: PlugIn-System

Beitrag von EugenE »

Hätte hier eins Gefunden:
http://www.uil.net/uArticles/Implementi ... oryou.html" onclick="window.open(this.href);return false;

wobei ich hier noch nicht weiß wie man dabei parameter übergeben soll , aber immerhin schon ne Möglichkeit plugins zu nutzen^^

http://www.delphipraxis.net/topic88116.html" onclick="window.open(this.href);return false;
http://www.delphipraxis.net/post801893.html#801893" onclick="window.open(this.href);return false;

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: PlugIn-System

Beitrag von Targion »

Ich würde ein Python-Script erstellen, was mit dem Lazarus-Programm kommuniziert und von den einzelnen (ebenfalls Python-Basierenden) PkugIns geladen wird. So müsste man nur das erste Python-Script anpassen, wenn man die Anwendung für eine andere Plattform kompiliert. (Interprozesskommunikation ist i.d.R. Plattformspezifisch). Die PlugIns würden dann auf allen Systemen laufen, wenn sie nichts Plattformspezifisches verwenden. Wie macht Mozilla das eigentlich mit den XPI-PlugIns?

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: PlugIn-System

Beitrag von EugenE »

Christian hat geschrieben:Man kann ein pluginsystem glaub ich nicht so verallgemeinern. Es ist ja auch kein so großes problem eins zu basteln, Solang man nicht unbedingt Forms daraus laden will. Am besten macht sich eine Routine in einer dll, der man Strings übergeben kann und eine Callback dazu. Damit lässt sich dann fast alles realisieren.
kein großes problem? :-D eher doch hab mal nen test project im Anhang wenn ich die Library wieder freigeben will bekomme ich die Fehlermeldung "Invalid pointer operation" nur wieso frage ich mich -.-

ggf den Zieldateinamen ändern
Dateianhänge
PluginSystem.zip
(609.51 KiB) 81-mal heruntergeladen

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: PlugIn-System

Beitrag von creed steiger »

Es gibt doch auch Pascal Script.

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: PlugIn-System

Beitrag von EugenE »

Link?
Kostenlos?
Beispiele?
Welche Lizenz? Für Freeware oder nur für Open-Source?

Mehr Info bitte :)

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Re: PlugIn-System

Beitrag von theo »

http://www.remobjects.com/ps.aspx" onclick="window.open(this.href);return false;

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: PlugIn-System

Beitrag von Christian »

Find das gescripte quatsch. Langsam und die Plugin schreiber können sich nicht aussuchen in Welcher Sprache sie programmieren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: PlugIn-System

Beitrag von EugenE »

Christian hast du vllt ein Beispiel Projekt? wie man es "richtig" machen sollte? , weil meins funktioniert , jedoch beim "UnLoaden" gibts fehler -.-

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PlugIn-System

Beitrag von pluto »

Ich finde die Idee mit DLLS nicht schlecht. Da können sich die Plugins Schreiber aussuchen mit welcher Sprache sie schreiben.
Ich habe auch schon in einer DLL eine TForm gepackt. Das geht auch. Allerdings habe ich auch davon gehört meine ich das sie nicht OOP Fähig sind... stimmt das ?

Ich finde das Plugin System von Mozilla nicht schlecht. Z.B. beim FireFox.... das scheint mir recht mächtig zu sein. Evtl. können wir genau so eins aufbauen. Praktisch währe das schon.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: PlugIn-System

Beitrag von monta »

Targion hat geschrieben: Wie macht Mozilla das eigentlich mit den XPI-PlugIns?
Das ganze basiert doch auf XUL und wird mit XML, Javascript usw. erstellt. Das lässt sich wohl nicht wirklich leicht in Lazarus-Anwendungen einbauen.
Johannes

ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

Re: PlugIn-System

Beitrag von ts230 »

Gut.
Ich würde das Senden/Empfangen von Kommandos eines PlugIns über einen Socket auf Port 1025(die Firewalls :wink: ).
Die Programmiersprache des PlugIns wäre eigentlich egal,solange diese Programiersprache Sockets unterstützt.
Dann könnte man z.b. den Editor mit einem neuen Codehighlighter aufmotzen oder das Websitetoll um das generieren
von RSS-Feeds erweitern.

Code: Alles auswählen

 If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: PlugIn-System

Beitrag von mschnell »

ts230 hat geschrieben:Ich würde das Senden/Empfangen von Kommandos eines PlugIns über einen Socket
Das wäre sehr professionell und Betriebssystem- und CPU-unabhängig. Und es geht auch noch über Netzwerk, wenn man möchte.

Allerdngs ist ein Plugin meiner Anicht nach definitionsgemäß die Möglichkeit, neue Funtionen aufzurufen. Das geht natürlich über Sockets (nennt sich RPC). Dafür gibt es sehr gute Standard-Libraries (wie z.B. "RemObjects SDK", benutzen wir in der Firma intensiv, Remobjects würde ohne Änderung des Codes nur durch Konfiguration z.B. auf Windows Messages statt Sockets benutzen, was da viel schneller ist). Aber leider nicht kostenlos.

-Michael

Antworten