Silva_henry Postado Agosto 27, 2008 Denunciar Share Postado Agosto 27, 2008 Olá pessoal.já se faz 2 dias que estou com um problema aqui e não consegui resolver,espero que eu consiga suporte neste forum.Estão de parabéns pelo conteúdo!Seguinte...Tenho um sistema recém programado ( em fase de testes ) feito em Delphi 2007 for win32.Uso o banco de dados FireBird.Na estação que fiz o desenvolvimento ( Windows Vista ),o sistema esta rodando perfeitamente.Estou tentando fazer este sistema rodar num computador com windows 98,como devo proceder ?já joguei os arquivos do sistema nesta estação ( win98 ),banco de dados e etc.Registrei a midas.dll,dbexpint.dll,e inclusive uma DLL que estava pedindo quando eu executavao aplicativo no windows 98,esta dll estava dentro da pasta BIN do CODEGEAR/delphi2007.já instalei o driver de ODBC do firebird também.E la no painel de controle/ODBC,eu consegui testar a conexãocom o banco e funciona a conexão é bem sucedida.O Ibexpert também reconhece o banco.O arquivo " bancoFB.ini " que é o arquivo de paramentros de configuração do banco, também esta apontando para o local correto.Enfim,testei tudo,mas meu aplicativo NÃO CONECTA AO BANCO DE DADOS,não se comunica.Quando eu abro o executavel dele,ele me retorna uma mensagem de erro estranha : "\/. .Meu aplicativo ameaça de abrir e depois fecha logo em seguida.alguém tem idéia a que se refere esta mensagem de erro ? >> "\/. <<Qual o procedimento normal para instalar o software no windows98.Sera que errei na configuração do ODBC,já que foi a primeira vez que fiz isto ?ObrigadoQualquer dica vai me ajudar muitoAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 27, 2008 Denunciar Share Postado Agosto 27, 2008 alguém tem idéia a que se refere esta mensagem de erro ? >> "\/. <<qual a mensagem de erro ? isto para mim não é mensagem de erro, ainda mais se for delphi .abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Silva_henry Postado Agosto 28, 2008 Autor Denunciar Share Postado Agosto 28, 2008 É estranho mesmoMas a mensagem de erro é exatamente esta "\/.O aplicativo funciona no micro desenvolvedor...Vou tentar fazer um teste com outro aplicativo que fiz com o delphi 2007,vou tentar ver o resultado e já posto para voces.ObrigadoAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Silva_henry Postado Agosto 28, 2008 Autor Denunciar Share Postado Agosto 28, 2008 (editado) Olá novamente.Fiz muitas algumas alterações no sistema,e compilei novamente.Agora ele parece estar mais de meu gosto.Fui testar no Windows 98,e ele me retornu o seguinte erro:Cannot find connection files from directory ( C:\Ebara ) or the system registry(\Software\Borland\BDS\5.0\dbExpress).Abaixo segue meu DataModulo: unit DataModulo; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, DBTables, FMTBcd, DBXpress, SqlExpr, Provider, DBClient, WideStrings; type TModulo = class(TDataModule) conexao: TSQLConnection; sql_tmp: TSQLQuery; sql_log: TSQLQuery; cds_log: TClientDataSet; dsp_log: TDataSetProvider; ds_log: TDataSource; SQL_usuario: TSQLQuery; CDS_usuario: TClientDataSet; DSP_usuario: TDataSetProvider; DS_usuario: TDataSource; SQL_bomba: TSQLQuery; CDS_bomba: TClientDataSet; DSP_bomba: TDataSetProvider; DS_bomba: TDataSource; SQL_motor: TSQLQuery; CDS_motor: TClientDataSet; DSP_motor: TDataSetProvider; DS_motor: TDataSource; SQL_clientes: TSQLQuery; CDS_clientes: TClientDataSet; DSP_Clientes: TDataSetProvider; DS_clientes: TDataSource; SQL_clientesCOD_EMITENTE: TIntegerField; SQL_clientesNOME_EMITENTE: TStringField; SQL_clientesDATA_INCLUSAO: TDateField; SQL_clientesREGISTRANTE: TStringField; CDS_clientesCOD_EMITENTE: TIntegerField; CDS_clientesNOME_EMITENTE: TStringField; CDS_clientesDATA_INCLUSAO: TDateField; CDS_clientesREGISTRANTE: TStringField; sql_logUSER_LOG: TStringField; sql_logID_LOG: TStringField; sql_logSIST_LOG: TStringField; sql_logDATA_LOG: TDateField; sql_logTIME_LOG: TTimeField; sql_logACAO_LOG: TStringField; sql_logHORA_FIM: TTimeField; sql_logDATA_FIM: TDateField; sql_logPC_LOG: TStringField; sql_logUSUARIO: TStringField; cds_logUSER_LOG: TStringField; cds_logID_LOG: TStringField; cds_logSIST_LOG: TStringField; cds_logDATA_LOG: TDateField; cds_logTIME_LOG: TTimeField; cds_logACAO_LOG: TStringField; cds_logHORA_FIM: TTimeField; cds_logDATA_FIM: TDateField; cds_logPC_LOG: TStringField; cds_logUSUARIO: TStringField; SQL_usuarioN_REG: TIntegerField; SQL_usuarioNOME_USER: TStringField; SQL_usuarioSTATUS_USER: TIntegerField; SQL_usuarioSENHA_USER: TStringField; CDS_usuarioN_REG: TIntegerField; CDS_usuarioNOME_USER: TStringField; CDS_usuarioSTATUS_USER: TIntegerField; CDS_usuarioSENHA_USER: TStringField; procedure ModuloCreate(Sender: TObject); procedure CDS_usuarioAfterDelete(DataSet: TDataSet); procedure CDS_usuarioAfterInsert(DataSet: TDataSet); procedure CDS_usuarioAfterPost(DataSet: TDataSet); procedure CDS_usuarioReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); procedure CDS_bombaAfterDelete(DataSet: TDataSet); procedure CDS_bombaAfterPost(DataSet: TDataSet); procedure CDS_bombaAfterInsert(DataSet: TDataSet); procedure CDS_bombaReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); procedure CDS_motorAfterInsert(DataSet: TDataSet); procedure CDS_motorReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); procedure CDS_clientesAfterDelete(DataSet: TDataSet); procedure CDS_motorAfterPost(DataSet: TDataSet); procedure CDS_clientesAfterPost(DataSet: TDataSet); procedure CDS_clientesAfterInsert(DataSet: TDataSet); procedure CDS_clientesReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); procedure cds_logAfterDelete(DataSet: TDataSet); procedure cds_logAfterPost(DataSet: TDataSet); procedure cds_logAfterInsert(DataSet: TDataSet); procedure cds_logReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); procedure CDS_motorAfterDelete(DataSet: TDataSet); private { Private declarations } public { Public declarations } vid_sistema: string; Procedure GravaLog (acao: string; op: integer); function Getcomputer : string; end; var Modulo: TModulo; V_Peca: Real; procedure Atualizar(tabela:TdataSet); procedure GeraNewID(tabela:TdataSet); implementation {$R *.DFM} procedure Atualizar (tabela: TdataSet); begin if TClientDataSet(tabela).ApplyUpdates(0) > 0 then ShowMessage('Erro na Gravação em : '+tabela.name); end; procedure TModulo.ModuloCreate(Sender: TObject); begin //-------------- CONEXAO BANCO ----------------- conexao.Close; // fecha BD // ** Carrega a configuracao da conexao com o BD ** if not FileExists('bancofb.ini') then begin MessageDlg('Arquivo de configuraçao não encontrado: ' + 'bancofb.ini.',mtConfirmation,[mbcancel],0); application.Terminate; end; try conexao.Close; conexao.LoadParamsFromIniFile('bancofb.ini'); conexao.open; except // raise Exception.create('Erro ao conectar o banco de dados'); Application.HandleException(Application); application.Terminate; end; // -------------- abre as tabelas do banco ---------------------- cds_usuario.Open; cds_log.Open; cds_clientes.Open; sql_usuario.Open; sql_log.open; sql_clientes.Open; // ----------- cria variavel publica da sessa iniciada -------- //--------- Log de entrada ------------- // vid_sistema := Formatdatetime('ddmmyyyyhhnnss',now); // data e hora que entrou... end; procedure GeraNewID (tabela: TdataSet); var newid: integer; sql1, nome_id : String; begin if tabela.State in [dsinsert] then begin nome_id := 'GEN_' + copy(tabela.Name,5,length(tabela.name)) + '_ID'; nome_id := UPPERCASE(nome_id); // monta sql para os arquivos. sql1 := 'SELECT GEN_ID (' + nome_id + ',1) FROM RDB$GENERATORS where RDB$GENERATOR_NAME = ' + QuotedStr(nome_id); modulo.sql_tmp.Close; modulo.sql_tmp.SQL.Text := sql1; modulo.sql_tmp.Open; newid := modulo.SQL_tmp.Fields[0].AsInteger; // atribui o proximo codigo ao campo do arquivo selecionado. if (nome_id = 'GEN_USUARIO_ID') then modulo.CDS_usuarioN_REG.Value := newid; end; end; procedure TModulo.CDS_bombaAfterDelete(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.CDS_bombaAfterInsert(DataSet: TDataSet); begin GeraNewId(DataSet); end; procedure TModulo.CDS_bombaAfterPost(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.CDS_bombaReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); begin ShowMessage(E.Message); end; procedure TModulo.CDS_clientesAfterDelete(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.CDS_clientesAfterInsert(DataSet: TDataSet); begin GeraNewId(DataSet); end; procedure TModulo.CDS_clientesAfterPost(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.CDS_clientesReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); begin ShowMessage(E.Message); end; procedure TModulo.cds_logAfterDelete(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.cds_logAfterInsert(DataSet: TDataSet); begin GeraNewId(DataSet); end; procedure TModulo.cds_logAfterPost(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.cds_logReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); begin ShowMessage(E.Message); end; procedure TModulo.CDS_motorAfterDelete(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.CDS_motorAfterInsert(DataSet: TDataSet); begin GeraNewId(DataSet); end; procedure TModulo.CDS_motorAfterPost(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.CDS_motorReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); begin ShowMessage(E.Message); end; procedure TModulo.CDS_usuarioAfterDelete(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; function TModulo.Getcomputer : string; var c: array[0..127] of Char; computer: string; sz: dword; begin sz := SizeOf(c); GetComputerName(c, sz); computer := c; result := computer; end; Procedure TModulo.GravaLog (acao: string; op:integer); begin modulo.sql_tmp.close; modulo.sql_tmp.SQL.Clear; if op = 1 then begin modulo.sql_tmp.sql.Add ('INSERT INTO LOG (USER_LOG, ID_LOG, DATA_LOG, TIME_LOG, ACAO_LOG, SIST_LOG, USUARIO)'); modulo.sql_tmp.sql.add (' VALUES (:user, :id, :dt, :tt, :tacao, :sist, :usuario)'); modulo.sql_tmp.Params[0].AsString := GetComputer; modulo.sql_tmp.Params[1].AsString := vid_sistema; modulo.sql_tmp.Params[2].AsDate := Date; modulo.sql_tmp.Params[3].Astime := Time; modulo.sql_tmp.Params[4].AsString := acao; modulo.sql_tmp.Params[5].AsString := 'EBARA'; modulo.sql_tmp.Params[6].AsString := modulo.cds_usuarioNOME_USER.value; end else begin modulo.sql_tmp.sql.Add ('UPDATE LOG SET DATA_FIM = :xdt, HORA_FIM = :tt, ACAO_LOG = :ac '); modulo.sql_tmp.sql.Add (' WHERE ID_LOG = :id'); modulo.sql_tmp.Params[0].AsDate := Date; modulo.sql_tmp.Params[1].Astime := Time; modulo.sql_tmp.Params[2].AsString := acao; modulo.sql_tmp.Params[3].AsString := vid_sistema; end; modulo.sql_tmp.ExecSQL; end; procedure TModulo.CDS_usuarioAfterPost(DataSet: TDataSet); begin // --- Utilizado por todas as tabelas do banco -- Atualizar(DataSet); end; procedure TModulo.CDS_usuarioAfterInsert(DataSet: TDataSet); begin GeraNewId(DataSet); end; procedure TModulo.CDS_usuarioReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); begin ShowMessage(E.Message); end; end.Abaixo meu arquivo que coloco no windows 98 para conectar ao Windows 98: BancoFB.ini[iBConnection]DriverName=InterbaseDatabase=localhost:C:\FD\Ebara\arq\DBebara.FDBRoleName=RoleNameUser_Name=sysdbaPassword=masterkeyServerCharSet=SQLDialect=3ErrorResourceFile=LocaleCode=0000BlobSize=-1CommitRetain=FalseWaitOnLocks=TrueInterbase TransIsolation=ReadCommitedTrim Char=FalseAlguma idéia ???Abraços Editado Agosto 28, 2008 por Silva_henry Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 29, 2008 Denunciar Share Postado Agosto 29, 2008 Cannot find connection files from directory ( C:\Ebara ) or the system registry(\Software\Borland\BDS\5.0\dbExpress).Não pode achar arquivos de conexão para o diretório (C:\Ebara) ou o registro de sistema (\Software\Borland\BDS\5.0\dbExpress).Abaixo meu arquivo que coloco no windows 98 para conectar ao Windows 98:BancoFB.ini[iBConnection]DriverName=InterbaseDatabase=localhost:C:\FD\Ebara\arq\DBebara.FDB /// veja se este caminho esta corretoRoleName=RoleNameUser_Name=sysdbaPassword=masterkeyServerCharSet=SQLDialect=3ErrorResourceFile=LocaleCode=0000BlobSize=-1CommitRetain=FalseWaitOnLocks=TrueInterbase TransIsolation=ReadCommitedTrim Char=FalseOBS: Faça um teste de conexão direta com o banco de dados sem ser pelo prorama e veja se consegue se contectar ... se caso afirmativo veja o caminho da conexão.abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Silva_henry
Olá pessoal.
já se faz 2 dias que estou com um problema aqui e não consegui resolver,
espero que eu consiga suporte neste forum.Estão de parabéns pelo conteúdo!
Seguinte...
Tenho um sistema recém programado ( em fase de testes ) feito em Delphi 2007 for win32.
Uso o banco de dados FireBird.
Na estação que fiz o desenvolvimento ( Windows Vista ),o sistema esta rodando perfeitamente.
Estou tentando fazer este sistema rodar num computador com windows 98,como devo proceder ?
já joguei os arquivos do sistema nesta estação ( win98 ),banco de dados e etc.
Registrei a midas.dll,dbexpint.dll,e inclusive uma DLL que estava pedindo quando eu executava
o aplicativo no windows 98,esta dll estava dentro da pasta BIN do CODEGEAR/delphi2007.
já instalei o driver de ODBC do firebird também.E la no painel de controle/ODBC,eu consegui testar a conexão
com o banco e funciona a conexão é bem sucedida.
O Ibexpert também reconhece o banco.
O arquivo " bancoFB.ini " que é o arquivo de paramentros de configuração do banco, também esta apontando para o local correto.
Enfim,testei tudo,mas meu aplicativo NÃO CONECTA AO BANCO DE DADOS,não se comunica.
Quando eu abro o executavel dele,ele me retorna uma mensagem de erro estranha : "\/. .Meu aplicativo ameaça de abrir e depois fecha logo em seguida.
alguém tem idéia a que se refere esta mensagem de erro ? >> "\/. <<
Qual o procedimento normal para instalar o software no windows98.Sera que errei na configuração do ODBC,já que foi a
primeira vez que fiz isto ?
Obrigado
Qualquer dica vai me ajudar muito
Abraços
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.