Fui instalar o programa no computador do cliente, mas quando abro o executável, ele abre, fica menos de 1 segundo aberto e já fecha...
O pior é que em outros computadores aqui do esrcitório ele abriu normal....no computador de casa tambem...
é só no computador do cliente ¬¬
alguém já passou por isso??
Tem alguma coisa a dizer que possa me ajudar?!
Para instalar o programa no pc do cliente, eu apenas instalei o BDE na máquina e copiei o executável pra lá,
e na abertura do form principal, tem isto...
////////////////////////////////////////////////////////////////////////////////
////////// VERIFICA SE O BORLAND DATABASE ENGINE ESTA INSTALADO ///////////
////////// SE NÃO ESTIVER, INSTALA E REGISTRA /// (uses Registry) ///
////////////////////////////////////////////////////////////////////////////////
procedure Verifica_BDE;
const
Key_Root = HKEY_LOCAL_MACHINE;
Key_Data : Array[00..05, 01..03] Of String = (('Software\Borland\Database Engine', 'BDE_EXTERNAL', '0'),
('Software\Borland\Database Engine', 'DLLPATH' , '0'),
('Software\Borland\Database Engine', 'CONFIGFILE01', '1'),
('Software\Borland\BLW32' , 'BLAPIPATH' , '0'),
('Software\Borland\BLW32' , 'LOCALE_LIB1' , '5'),
('Software\Borland\BLW32' , 'LOCALE_LIB2' , '6'));
BDE_Files : Array[01..10] Of String = ('idapi32.cfg', 'idapi32.dll', 'idr20009.dll', 'blw32.dll', 'usa.btl', 'europe.btl', 'idpdx32.dll', 'idasci32.dll', 'iddbas32.dll', 'idodbc32.dll');
var
Status : Boolean;
Index : Integer;
Ind_Files : Integer;
BDE_Dir : String;
Registro : TRegIniFile;
begin
Try
Registro := TRegIniFile.Create();
Registro.RootKey := Key_Root;
If (Not Registro.KeyExists(Key_Data[0,1])) Or (( Registro.KeyExists(Key_Data[0,1])) And (Registro.ReadString(Key_Data[0,1], Key_Data[0,2], 'FALSE') = 'TRUE')) Then
Begin
For Index := 1 To 4 Do
Begin
Case Index Of
1 : BDE_Dir := ExtractFileDrive(ParamStr(0)) + '\BDE\';
2 : BDE_Dir := ExtractFileDir(ParamStr(0)) + '\BDE\';
3 : BDE_Dir := ExtractFilePath(ParamStr(0));
4 : BDE_Dir := 'C:\Arquivos de Programas\Borland\Common Files\BDE\';
End;
Status := DirectoryExists(BDE_Dir);
If Status Then
For Ind_Files := Low(BDE_Files) To High(BDE_Files) Do
Status := Status And FileExists(BDE_Dir + BDE_Files[Ind_Files]);
If Status Then
Break;
End;
For Index := Succ(Low(Key_Data)) To High(Key_Data) Do
Begin
If Key_Data[Index,3] = '0' Then
Registro.WriteString(Key_Data[Index,1], Key_Data[Index,2], BDE_Dir)
Else
Registro.WriteString(Key_Data[Index,1], Key_Data[Index,2], BDE_Dir + BDE_Files[StrToInt(Key_Data[Index,3])]);
End;
Registro.WriteString(Key_Data[0,1], Key_Data[0,2], 'TRUE');
End;
Finally
Registro.Free;
End;
end;
////////////////////////////////////////////////////////////////////////////////
///////////// CRIA UM ALIAS PARA UM BANCO DE DADOS NO BDE //////////////////
////////////////////////////////////////////////////////////////////////////////
procedure Cria_Alias(Parametros : Array Of Variant);
var
List_Aux : TStringList;
begin
If (Parametros[0] <> '') And (Parametros[1] <> '') Then
Begin
{Configura o parâmetro Local Share}
{ SetConfigParameter('\SYSTEM\INIT\;LOCAL SHARE' , 'FALSE');
{Configura o parâmetro Net Dir}
{ SetConfigParameter('\DRIVERS\PARADOX\INIT\;NET DIR', Parametros[1]);
{Cria ou altera o Path do Alias}
List_Aux := TStringList.Create;
List_Aux.Clear;
List_Aux.Add('PATH=' + Parametros[1]);
If Not Session.IsAlias(Parametros[0]) Then
Session.AddAlias(Parametros[0], 'PARADOX', List_Aux)
Else
Session.ModifyAlias(Parametros[0], List_Aux);
Session.SaveConfigFile;
List_Aux.Free;
End;
end;
procedure TfrmSupermPrincipal.mnuCadProClick(Sender: TObject);
begin
frmCadPro.Show;
end;
procedure TfrmSupermPrincipal.mnuCadFornClick(Sender: TObject);
begin
frmCadForn.Show;
end;
procedure TfrmSupermPrincipal.mnuCadSecaoClick(Sender: TObject);
begin
frmCadSecao.Show;
end;
procedure TfrmSupermPrincipal.mnuCadCliClick(Sender: TObject);
begin
frmCadCli.Show;
end;
procedure TfrmSupermPrincipal.mnuCadOpeCxClick(Sender: TObject);
begin
frmCadOpeCx.Show;
end;
procedure TfrmSupermPrincipal.ControledeCaixa1Click(Sender: TObject);
begin
frmControleCaixa.Show;
end;
procedure TfrmSupermPrincipal.FormCreate(Sender: TObject);
var
cur_dir:string;
begin
cur_dir:=ExtractFileDir(ParamStr(0))+'\';
Verifica_BDE;
Cria_Alias(['superm',cur_dir]);
end;
end.
Se alguém conseguir me ajudar...
pois só falta isso para o programa funcionar no cliente, e como ele já funcionou em outros computadores daqui, eu não sei o que está havendo :(
Pergunta
Gabriel Cabral
Bom dia, pessoal...
Tive um sério problema ontem..
Fui instalar o programa no computador do cliente, mas quando abro o executável, ele abre, fica menos de 1 segundo aberto e já fecha...
O pior é que em outros computadores aqui do esrcitório ele abriu normal....no computador de casa tambem...
é só no computador do cliente ¬¬
alguém já passou por isso??
Tem alguma coisa a dizer que possa me ajudar?!
Para instalar o programa no pc do cliente, eu apenas instalei o BDE na máquina e copiei o executável pra lá,
e na abertura do form principal, tem isto...
Se alguém conseguir me ajudar...
pois só falta isso para o programa funcionar no cliente, e como ele já funcionou em outros computadores daqui, eu não sei o que está havendo :(
Muito obrigado
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.