Jump to content

Eigenes Plugin wird nicht geladen


sveni2211

Recommended Posts

Hallo.

Ich wollte mich mal an einem eigenen Plugin versuchen. Als Informations-Quelle habe ich die DVBViewer Plugin SDK Hilfedatei und das Beispielprojekt "myPrograms".

Will in dem Plugin eigentlich nur ein paar statistische Informationen zum TS Stream abfassen für den Anfang. Als Typ "Plugin". Nicht per COM auf den DVBViewer selbst zugreifen oder so.

Benutze dafür Delphi 10.3.1. Habe mir ein DLL Projekt erstellt (32 Bit) und folgende Funktionen exportiert:

- Copyright
- Version
- LibTyp
- PluginName
- SetAppHandle
- EventMsg
- SetMenuHandle
- MenuItemClick
- Execute
- PidCallback

 

Die ersten 4 Funktionen geben auch Daten zurück.

Jetzt habe ich die DLL mal in das DVBViewer Plugins Verzeichnis gepackt. Den DVBViewer gestartet und mit dem Process Explorer (aktuelle Version) geschaut, was für DLL geladen werden. Meine DLL ist dabei nicht zu sehen.

Nehme ich den "DLL Explorer" und schaue mir z.B. die Universal.dll aus dem Plugins-Verzeichnis an und meine DLL, sind die korrekten Exports da (meiner fehlen natürlich die Imports und der Universal die Stream-bezogenen Funktionen).

 

Habe dann testweise mal "myPrograms" compiliert und in Plugins gelegt - auch diese ist im Process Explorer nicht zu finden. Sie scheinen nicht geladen zu werden. Woran kann das liegen? Was mache ich falsch?

 

Kann es am Compiler liegen? Brauche ich eventuell ein sehr viel älteres Delphi?

Link to comment

Anhand des Quellcodes ließe sich das besser beurteilen...

 

Wenn du eine Delphi-Version verwendest, die standardmäßig mit Unicode (UTF-16) Strings arbeitet, gibt es einen Fallstrick. Dann musst du nämlich explizit statt PChar PAnsiChar verwenden, sonst passt das nicht:

function LibTyp: PAnsiChar; stdcall;
begin
  result := 'Plugin';
end;

 

Link to comment

Hi.

 

Vielen Dank. Genau das war es. Seit D2009 ist ja standardmäßig Unicode aktiv. Deswegen ging auch das selbst compilierte Beispiel von hier nicht. An Unicode hatte ich nichtgedacht - zuviel in C# gearbeitet in letzter Zeit.

Danke.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...