Chamando uma função em outros forms ???

Delphi

31/05/2004

: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´);


Sitelocal

Sitelocal

Curtidas 0

Respostas

Beppe

Beppe

31/05/2004

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.


GOSTEI 0
POSTAR