Thema: Delphi Aus DLL Button erstellen

Einzelnen Beitrag anzeigen

Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Aus DLL Button erstellen

  Alt 15. Aug 2006, 10:28
Hallo!

Ich habs fast genau so wie du gemacht, nur gehts bei mir nicht.
DLL:
Delphi-Quellcode:
library Project1;

uses
  ShareMem, SysUtils, Controls, Classes, ExtCtrls;

{$R *.res}

var
  Panel: TPanel;

procedure CreatePlugin(Owner:TComponent; Parent: TWinControl); stdcall; export;
begin
  Panel := TPanel.Create(Owner);
  Panel.Parent := Parent;
  Panel.Align := alClient;
end;

procedure DestroyPlugin; stdcall;
begin
  Panel.Free;
end;

exports
  CreatePlugin, DestroyPlugin;

begin

end.
Aufruf:
Delphi-Quellcode:
unit Unit3;

interface

uses
  Classes, Controls, Windows;

procedure CreatePlugin(FileName: string; Owner:TComponent; Parent: TWinControl);

implementation

procedure CreatePlugin(FileName: string; Owner:TComponent; Parent: TWinControl);
var
  CreatePluginProc: procedure(Owner:TComponent; Parent: TWinControl); stdcall;
  Handle: THandle;
begin
  Handle := LoadLibrary(PChar(FileName));
  if Handle <> 0 then
  begin
    @CreatePluginProc := GetProcAddress(Handle, 'CreatePlugin');
    if @CreatePluginProc <> nil then
    begin
      CreatePluginProc(Owner, Parent);
    end;
    FreeLibrary(Handle);
  end;
end;

end.
ShareMem ist sowhol in der DLL (siehe oben) wie auch in der DPR der Aufrufsawendung.

Was passt hier nicht?!

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat