Fórum Chamando uma função em outros forms ??? #235157
31/05/2004
0
:cry: Pessoal Tô precisando da seguinte ajuda criei uma unit chamada funcao que compact p bd access e na hora que vou chamar essa a função fala que eu não declarei o nome ´compactar´ Olhem por favor e me ajudem ok !!Agradeço ::
Código U_FUNCAO
unit U_FUNCAO; // nome função
interface
uses
SysUtils, Forms, JRO_TLB, Variants, Dialogs, Menus, Classes;
implementation
function COMPACTAR
(const NomeBD: WideString) : boolean;
var
JE : TJetEngine; //Jet Engine
TEMPBD : WideString; //TEMP database
TEMPCON : WideString; //Connection string
const
SProvider = ´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=´;
begin
Result:=False;
TEMPBD := ExtractFileDir(NOMEBD) +
´TEMP´ +
ExtractFileName(NOMEBD);
TEMPCON := SProvider + TEMPBD;
if FileExists(TEMPBD) then
DeleteFile(TEMPBD);
JE := TJetEngine.Create(Application);
try
try
JE.CompactDatabase(SProvider + NOMEBD, TEMPCON);
DeleteFile(NOMEBD);
RenameFile(TEMPBD, NOMEBD);
except
on E:Exception do
ShowMessage(E.Message);
end;
finally
JE.FreeOnRelease;
Result:=True;
end;
end;
end.
Abaixo mostra como chamei no forme principal !!
uses u_funcao;
compactar(´\BD\BD_SI.MDB´);
Código U_FUNCAO
unit U_FUNCAO; // nome função
interface
uses
SysUtils, Forms, JRO_TLB, Variants, Dialogs, Menus, Classes;
implementation
function COMPACTAR
(const NomeBD: WideString) : boolean;
var
JE : TJetEngine; //Jet Engine
TEMPBD : WideString; //TEMP database
TEMPCON : WideString; //Connection string
const
SProvider = ´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=´;
begin
Result:=False;
TEMPBD := ExtractFileDir(NOMEBD) +
´TEMP´ +
ExtractFileName(NOMEBD);
TEMPCON := SProvider + TEMPBD;
if FileExists(TEMPBD) then
DeleteFile(TEMPBD);
JE := TJetEngine.Create(Application);
try
try
JE.CompactDatabase(SProvider + NOMEBD, TEMPCON);
DeleteFile(NOMEBD);
RenameFile(TEMPBD, NOMEBD);
except
on E:Exception do
ShowMessage(E.Message);
end;
finally
JE.FreeOnRelease;
Result:=True;
end;
end;
end.
Abaixo mostra como chamei no forme principal !!
uses u_funcao;
compactar(´\BD\BD_SI.MDB´);
Sitelocal
Curtir tópico
+ 0
Responder
Posts
31/05/2004
Beppe
Vc implementou a função...precisa exportá-la, colocando na seção interface tb(outras units só vêem o q está em interface)
Coloque
function COMPACTAR(const NomeBD: WideString) : boolean;
entre o 1o. uses e a palavra implmentation.
Coloque
function COMPACTAR(const NomeBD: WideString) : boolean;
entre o 1o. uses e a palavra implmentation.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)