Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
Delphi 2010 Professional
|
Re: 2 kleine c++ Fragen
9. Feb 2010, 17:47
Delphi-Quellcode:
type
TPlugIn = class
// private
// FErrorMsg: WideString;
public
constructor Create; virtual;
function GetName: WideString; virtual; stdcall; abstract; // hatte jetzt beides auf Widestring umgestellt sprich BSTR
function GetParentClassName: WideString; virtual; stdcall; abstract;
// property ErrorMsg: WideString read FErrorMsg write FErrorMsg;
end;
// PPlugIn = ^TPlugIn;
TLoadPlugIn = function( var PlugIn: TPlugIn): Boolean;
// [...]
procedure TForm1.Button5Click(Sender: TObject);
var
hLib: Cardinal;
MLoadPlugIn: TLoadPlugIn;
PlugIn: TPlugIn;
begin
hLib := LoadLibrary(' PluginB.dll');
try
if not(hLib = 0) then
begin
@MLoadPlugIn := GetProcAddress(hLib, ' LoadPlugIn');
if not(@MLoadPlugIn = nil) then
begin
if MLoadPlugIn(PlugIn) then // das return aus'm plugin true/false kommt richtig an
try
if Assigned(PlugIn) then
ShowMessage(' '); // Diese Statusmeldung bekomme ich nie
if PlugIn.GetParentClassName = ' TPlugIn' then // hier knallts
begin
ShowMessage(PlugIn.GetName);
end
else
raise Exception.Create(' ');
finally
PlugIn.Free;
end;
end
else
raise Exception.Create(' ');
end;
finally
FreeLibrary(hLib);
end;
end;
Sebastian
|
|
|