Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Plugin-System Version 3 (https://www.delphipraxis.net/137375-plugin-system-version-3-a.html)

himitsu 21. Jul 2009 13:55

Re: Plugin-System Version 3
 
im Grunde mußt du alle nötigen deiner eingebundenen Dateien mitgeben

und bei Verwendung von Fremdcode dieses mit erwähnen, oder wenn es die Lizenz zuläßt und es etwas ist, was nicht sooo viele verwenden, dann dieses eventuell auch mit dazupacken.

bei der Verwendung von externen Packages sollten diese auch mitgegeben werden, da ja nicht jeder überall ein Delphi installiert und somit diese Dateien eventuell auch in seinem System hat.

auch sollten Minimumanforderungen von Codes/Programmen genannt werden (soweit bekannt)
z.B.
- welche Delphi-Version mindestens zum Kompilieren ist
- welche Fremdkomponenten bzw. zusätzliche Programme installiert sein müssen
- welches Betriebssystem ist nötig

...

kurz um: alles was nicht standardmäßig auf einem "fast leerem" System vorhanden ist

Henning der zweite 21. Jul 2009 20:31

Re: Plugin-System Version 3
 
Neue Version: 3.1.0!

Changelog:
  • Ein Plugin kann jetzt mehrere Interfaces implementieren. Um zu prüfen, ob ein Plugin ein Interface unterstüzt, kann die Funktion "Supports" der Klasse TPluginClass benutzt werden.
  • LifeTimeTasks: Mithilfe dieser Klasse können (beim Client) Initialisierungs bzw. Finalisierungsaufgaben durchgeführt werden, wie z.B. das Setzten des Handles der Application. Näheres dazu in den Demos
  • Zwei neue Demos (eins über die LifeTimeTasks und das andere über eine Implementierung einer Factory-Class)
  • Hinzufügung aller erforderlichen Units ;)

Leider ist das neue Pluginsystem inkompatibel mit dem alten - da aber niemand das neue benutzen konnte (aufgrund der fehlenden Units), ists quasi egal ;)
Es wurde inkompatibel, weil ich am internen Aufbau eine Funktion ändern musste.

EugenB 23. Jul 2009 15:45

Re: Plugin-System Version 3
 
Ist es kompatibel zu FPC? also kann man es mit FPC laufen lassen? :)

Henning der zweite 23. Jul 2009 15:54

Re: Plugin-System Version 3
 
Wenn du mit FPC den Free Pascal Compiler meinst:
Kompatibel ist es bestimmt - zumindest mit der Win32 Version.
Nur ob es kompilieren wird, weiß ich nicht! (Ich habe Free Pascal nicht)

Das Plugin-System ist kompatibel mit allen gängigen 32 Bit Compilern, die Interfaces und DLLs unterstützen, da diese nicht Delphi-Abhängig sind.
Nur die Implementation und die Header müssen übersetzt werden ;)

Lumpiluk 23. Nov 2009 18:38

Re: Plugin-System Version 3
 
Ich "arbeite" gerade mit 2 Leuten an einem kleinen Projekt und dabei war uns dein Pluginsystem bis jetzt sehr hilfreich!

Allerdings wollten wir jetzt ein OpenGL-Spiel einbinden, woraufhin der Bereich für das Plugin leider komplett schwarz geblieben ist...
Mit einem zusätzlichen Panel auf der Plugin-Form und dessen Handle hat es auch nicht funktioniert.
Gäbe es da eine Möglichkeit oder müssten wir das Spiel doch alternativ per ShellExecute im Vollbild laden?

Henning der zweite 23. Nov 2009 19:29

Re: Plugin-System Version 3
 
Zitat:

dabei war uns dein Pluginsystem bis jetzt sehr hilfreich!
Freut mich sehr zu hören!

Zitat:

Mit einem zusätzlichen Panel auf der Plugin-Form und dessen Handle hat es auch nicht funktioniert.
Eigentlich sollte das so funktionieren.

Probiere mal folgendes:
1. Möglichkeit: (müsste die sein, die du schon ausprobiert hast)
Erstelle ein Panel auf dem Hauptformular und veröffentliche ein Interface über das Plugin-System, mit dem das Handle des Panels
abgefragt werden kann.
Beim Initialisieren des OpenGL-Kontexts muss dann das Handle des Panels angegeben werden, welches über das veröffentlichte Interface abgefragt werden kann.
Über diesen OpenGL-Kontext müsstest du nun auf das Panel zeichnen können.

2. Möglichkeit:
Erstelle in dem Plugin per CreateParented ein Formular auf die Hauptanwendung (siehe Demo "GUI").
Da dieses Formular im Plugin erzeugt wurde, kann es direkt angesprochen werden.
Der Rest ist wie bei einer "normalen" OpenGL Anwendung.

P.S:
Mit OpenGL kenne ich mich leider nicht so gut aus, darum alle Angaben (wie immer) ohne Gewehr! ;)

Jonny-The-XIV 29. Dez 2009 14:29

Re: Plugin-System Version 3
 
Ich habe das problem gefunden :)
meistens wird application.OnIdle zum aufruf der renderfunktion von opengl verwendet. Das geht ja nicht in Plugins :wall:
aber mit nem timer ist alles io

MyRealName 29. Dez 2009 15:01

Re: Plugin-System Version 3
 
Warum sollte es nicht in Plugins gehen ? :gruebel:

olee 29. Dez 2009 15:12

Re: Plugin-System Version 3
 
Hi,

Es hat sich klasse angehört, was du gemacht hast...Nur...

wozu braucht man sowas?

Wieso kann man da nicht direkt Dlls benutzen und die über LoadLibary und Co. nutzen?

Henning der zweite 29. Dez 2009 19:11

Re: Plugin-System Version 3
 
Zitat:

Wieso kann man da nicht direkt Dlls benutzen und die über LoadLibary und Co. nutzen?
Kann man auch, macht das Plugin-System ja auch intern.
Durch das Plugin-System ist es aber auch möglich bspw. vorhandene Funktionalität zu ersetzen und Plugins leichter zu verwalten.
(siehe "Features")

Kurzum: Wozu braucht man Delphi, wenn es doch Assembler gibt?


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

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