Fórum Dúvidas com DLL #295198
12/09/2005
0
Criei a DLL abaixo mas não consigo descobrir o erro na linha em negrito.
library CPKG;
uses
SysUtils,
Classes,
Windows,
Forms;
function oForm(nClasse: String): Boolean; stdcall;
{$R *.res}
function pForm(nFile: String; nClasse: String): Boolean; stdcall; // Criar um pacote
var
aPackage : Array of Cardinal;
aPersistentClass: TPersistentClass;
aForm : TForm;
I : Integer;
begin
SetLength(aPackage,0);
If(FileExists(nFile)) Then
begin
SetLength(aPackage,Length(aPackage) + 1);
aPackage[Length(aPackage) - 1] := LoadPackage(nFile);
result := True;
oForm(nClasse);
end
else
result := False;
end;
function oForm(nClasse: String): Boolean; stdcall; // Abrir um formulário do pacote
var
aPersistentClass: TPersistentClass;
aForm : TForm;
begin
aPersistentClass := GetClass(nClasse);
If(aPersistentClass = nil) Then
begin
// showmessage(´err´);
result := False;
end
else
begin
aForm := TComponentClass(aPersistentClass).Create(Application) as TForm;
AForm.Show;
end;
end;
[b:8e172b2f57]exports[/b:8e172b2f57]
oForm;
begin
end.
Msg de erro: Expected Begin but Exports at line 60.
Outra dúvida como faço pra chamar um DLL externa de dentro de outra.
Valeu.
Excon
Curtir tópico
+ 0Posts
12/09/2005
Celamar
Gostei + 0
12/09/2005
Ipc$
function oForm(nClasse: String): Boolean; stdcall; forward;
.dpr dos programas que a chamam; senão defina o parâmetro como PChar.
Gostei + 0
12/09/2005
Michelli88
[b:b98977cc12]NAO PRECISA![/b:b98977cc12]
library CPKG;
uses
SysUtils,
Classes,
Windows,
Forms;
{$R *.res}
function pForm(nFile: String; nClasse: String): Boolean; stdcall; // Criar um pacote
var
aPackage : Array of Cardinal;
aPersistentClass: TPersistentClass;
aForm : TForm;
I : Integer;
begin
SetLength(aPackage,0);
If(FileExists(nFile)) Then begin
SetLength(aPackage,Length(aPackage) + 1);
aPackage[Length(aPackage) - 1] := LoadPackage(nFile);
result := True;
oForm(nClasse);
end
else result := False;
end;
function oForm(nClasse: String): Boolean; stdcall; // Abrir um formulário do pacote
var
aPersistentClass: TPersistentClass;
aForm : TForm;
begin
aPersistentClass := GetClass(nClasse);
If(aPersistentClass = nil) Then begin
result := False;
end
else begin
aForm := TComponentClass(aPersistentClass).Create(Application) as TForm;
AForm.Show;
end;
end;
exports
oForm, pForm;
begin
end.
Gostei + 0
12/09/2005
Ipc$
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)