Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function TMinhaClasse.ConectarApp: Boolean;
- var
- ini : TIniFile;
- FileName, aIPServidor, aPathServidor, sIPServidor, aPorta, sPathServidor: String;
- begin
- Result := Conectado; // Apenas uma variável para guardar o estado
- if (Conectado = False) then
- begin
- FConexao.Connected := False;
- {Declarando o caminho do arquivo INI}
- FileName := Format('%sConexao.ini', [ExtractFilePath(ParamStr(0))]);
- if FileExists(FileName) then
- begin
- {
- Considerando os abjetos:
- FDGUIxWaitCursor: TFDGUIxWaitCursor;
- FBDriverLink : TFDPhysFBDriverLink;
- FConexao : TFDConnection;
- }
- {
- Conteúdo do arquivo INI:
- [CONEXAO]
- IP_SERVIDOR=127.0.0.1
- PORTA=3050
- BASE_DADOS=C:\suapasta\SeuBanco.FDB
- }
- ini := TIniFile.Create(FileName);
- sIPServidor := UpperCase(ini.ReadString('CONEXAO', 'IP_SERVIDOR', ''));
- sPathServidor := UpperCase(ini.ReadString('CONEXAO', 'BASE_DADOS', ''));
- aPorta := UpperCase(ini.ReadString('CONEXAO', 'PORTA', ''));
- ini.Free;
- FConexao.Params.Clear;
- FConexao.Params.Add('DriverID= FB');
- FConexao.Params.Add('Server=' + sIPServidor);
- FConexao.Params.Add('Port=' + aPorta);
- FConexao.Params.Add('Database=' + sPathServidor);
- FConexao.Params.Add('User_Name=SYSDBA');
- FConexao.Params.Add('Password=masterkey');
- FConexao.Params.Add('Protocol=TCPIP');
- FConexao.Params.Add('CharacterSet=WIN1252');
- FConexao.Params.Add('ExtendedMetadata=True');
- FConexao.Params.Add('RoleName=RoleName');
- FConexao.DriverName := 'FB';
- FConexao.LoginPrompt := False;
- FConexao.UpdateOptions.CountUpdatedRecords := False;
- FBDriverLink.Embedded := False;
- FBDriverLink.DriverID := 'FB';
- {Se for usar fora do Windows, ignore esta verificação que faço via outra unit
- onde tenho uma função para isto a: "VerificarX64"
- Segue a sua declaração:
- ************************************************************
- function VerificarX64: Boolean;
- const
- PROCESSOR_ARCHITECTURE_INTEL = $0000;
- PROCESSOR_ARCHITECTURE_IA64 = $0006;
- PROCESSOR_ARCHITECTURE_AMD64 = $0009;
- PROCESSOR_ARCHITECTURE_UNKNOWN = $FFFF;
- var
- xSysInfo: TSystemInfo;
- begin
- GetNativeSystemInfo(xSysInfo);
- case xSysInfo.wProcessorArchitecture of
- PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA64:
- Result := True;
- else
- Result := False;
- end;
- end;
- ************************************************************
- }
- if VerificarX64 then
- begin
- FBDriverLink.Release;
- FBDriverLink.VendorLib := ('C:\Program Files (x86)\Firebird\Firebird_2_5\bin\fbclient.dll');
- end
- else
- begin
- FBDriverLink.Release;
- FBDriverLink.VendorLib := ('C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll');
- end;
- end
- else
- begin
- {Aqui vc chama a mensagem de erro. No meu caso tenho um Form personalizando esta mensagem}
- dlgForm := TdlgForm.Create(nil);
- dlgForm.updateMSG('Falha na inicialização do arquivo: Conexao.ini');
- dlgForm.ShowModal;
- end;
- end;
- try
- FConexao.Connected := True;
- Result := True;
- except
- Result := False;
- end;
- Conectado := Result;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement