Problemas ao Abrir 2 programasao mesmo tempo
Olá, tenho um banco em Firebird 1.5.. estou usando o IBDataSet para mexer nos dados... porem instlaei uma versao em um computador da rede, e enquanto ele usa o cadastro de clientes e eu tenho acessar ele aqui... parece dar erro. fica travado e nao sai mais...
o que devo fazer?
Desde ja agradeco...
o que devo fazer?
Desde ja agradeco...
Titanius
Curtidas 0
Respostas
Afarias
17/09/2004
Certo... ocorre ´um erro´... huuuumm... essa tá difícil... tem uma dica?? (tipo... a messagem de erro por exemplo??) ;)
T+
T+
GOSTEI 0
Titanius
17/09/2004
Foi mal... heheh... tipo, nao ocorre nada... ele simplesmente trava o programa.... somente isso...
GOSTEI 0
Afarias
17/09/2004
Em q momento (operação) extamente ele trava?? Quais os comandos que estão sendo executados (vc depurou?)??
T+
T+
GOSTEI 0
Titanius
17/09/2004
É o seguinte:
Primeiramente, Crio um Query, pra percorrer a Tabela Todinha e por os nomes dos funcionarios em um ListBox. depois Dou um IBDataSet1.Open;
Uso DBEdit e DBNavigator e tals...
Parece que da pau, na hora de abrir e tals... trava, parece que enquanto estou com o outro aberto, ele nao abre... aih fica travado.. :(
Primeiramente, Crio um Query, pra percorrer a Tabela Todinha e por os nomes dos funcionarios em um ListBox. depois Dou um IBDataSet1.Open;
Uso DBEdit e DBNavigator e tals...
Parece que da pau, na hora de abrir e tals... trava, parece que enquanto estou com o outro aberto, ele nao abre... aih fica travado.. :(
GOSTEI 0
Afarias
17/09/2004
|Parece que da pau, na hora de abrir e tals... trava
Infelizmente, enquanto vc não se aplicar mais ao problema procurando abordá-lo de uma forma mais precisa e ´técnica´, vai ficar muito difícil obter ajuda.
T+
Infelizmente, enquanto vc não se aplicar mais ao problema procurando abordá-lo de uma forma mais precisa e ´técnica´, vai ficar muito difícil obter ajuda.
T+
GOSTEI 0
Titanius
17/09/2004
Amigo, me desculpe se nao fui certeiro e convinscente... vou tentar explicar melhor...
Meu programa, tem que rodar em varias maquinas, em Rede... tenho um cadastro de profissionais de saude - por exemplo -, usando IBDataSet e DBEdit e tals.. para ver os cadastros.. executo o seguinte codigo pra chamar o form
Quando uma pessoa abre, e fica na tela, tudo bem... mas se eu for tentar abrir em outra maquina, trava na linha OPEN.. o programa trava, e o windows fala que nao esta respondendo...
Segue o codigo do meu Form:
Espero ter sido claro desta vez, e mais uma vez, me desculpe.. :(
Meu programa, tem que rodar em varias maquinas, em Rede... tenho um cadastro de profissionais de saude - por exemplo -, usando IBDataSet e DBEdit e tals.. para ver os cadastros.. executo o seguinte codigo pra chamar o form
procedure TForm1.CadastrarProfissional1Click(Sender: TObject); var Found, i: integer; cQuery: TIBQuery; begin Found := -1; for i := 0 to Screen.FormCount - 1 do if Screen.Forms[i] is TFrmCadProfissionais then Found := i; if Found >= 0 then Screen.Forms[Found].Show else begin FrmCadProfissionais := TFrmCadProfissionais.Create(Application); with FrmCadProfissionais.IBDataSet1 do begin Open; First; FrmCadProfissionais.ComboBox1.Clear; FrmCadProfissionais.ComboBox1.Items.Clear; while not EOF do begin FrmCadProfissionais.ComboBox1.Items.Add(TrimRight(FrmCadProfissionais.IBDataSet1NOME.AsString)); Next; end; First; Insert; end; cQuery := TIBQuery.Create(Application); cQuery.Database := DM.IBDatabase1; with cQuery do begin SQL.Clear; SQL.Add(´select * from CB0601´); SQL.Add(´ORDER BY DESCRICAO´); Prepare; Open; while not EOF do begin FrmCadProfissionais.JvgDBGrid1.Columns[0].PickList.Add(TrimRight(FieldByName(´DESCRICAO´).AsString)); Next; end; cQuery.Close; cQuery.Free; end; FrmCadProfissionais.Show; FrmCadProfissionais.SetFocus; end; end;
Quando uma pessoa abre, e fica na tela, tudo bem... mas se eu for tentar abrir em outra maquina, trava na linha OPEN.. o programa trava, e o windows fala que nao esta respondendo...
Segue o codigo do meu Form:
procedure TFrmCadProfissionais.FormCreate(Sender: TObject); begin Top := 0; Left := 0; end; procedure TFrmCadProfissionais.BitBtn1Click(Sender: TObject); begin Close; end; procedure TFrmCadProfissionais.IBDataSet1NewRecord(DataSet: TDataSet); begin IBDataSet1DATA_CADASTRO.Value := FormatDateTime(´dd/mm/yyyy´, Now); end; procedure TFrmCadProfissionais.FormClose(Sender: TObject; var Action: TCloseAction); var Opcao: Byte; begin if (DataSource1.State in [dsEdit, dsInsert]) and (IBDataSet1.Modified) then begin Opcao := Application.MessageBox(´Este registro foi modificado, deseja salvar as alterações ?´, ´Compounder´, MB_YESNOCANCEL + MB_ICONQUESTION + MB_DEFBUTTON1 + MB_APPLMODAL); case Opcao of ID_YES: IBDataSet1.Post; ID_NO: IBDataSet1.CancelUpdates; ID_CANCEL: Abort; end; end; try DM.IBTransaction1.Commit; except end; IBDataSet1.Close; IBDataSet2.Close; Action := caFree; end; procedure TFrmCadProfissionais.DBEdit2Exit(Sender: TObject); begin FormatTxtSender(Sender); end; procedure TFrmCadProfissionais.ComboBox1Select(Sender: TObject); begin Selected := True; end; procedure TFrmCadProfissionais.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if (Key = #13) and (Selected = True) then begin if IBDataSet1.Locate(´NOME´, ComboBox1.Text, [loCaseInsensitive]) then begin PageControl1.ActivePageIndex := 0; DBEdit2.SetFocus; end; end; if (Key = 13) and (Selected = False) then begin IBDataSet1.Insert; IBDataSet1NOME.AsString := FormataTexto(ComboBox1.Text); ComboBox1.Clear; DBEdit2.SetFocus; end; end; procedure TFrmCadProfissionais.FormKeyPress(Sender: TObject; var Key: Char); begin // if Key = #27 then BitBtn1Click(Sender); if (Key = 13) and not (ComboBox1.Focused) then begin Key := 0; Perform(Wm_NextDlgCtl, 0, 0); end; end; procedure TFrmCadProfissionais.FormShow(Sender: TObject); begin ComboBox1.SetFocus; end; procedure TFrmCadProfissionais.DBEdit12DblClick(Sender: TObject); begin ShellExecute(Handle, ´Open´, PChar(DBEdit12.Text), nil, nil, sw_shownormal); end; procedure TFrmCadProfissionais.DBEdit13DblClick(Sender: TObject); begin ShellExecute(Handle, ´Open´, PChar(´mailto:´ + DBEdit13.Text), nil, nil, sw_shownormal); end; procedure TFrmCadProfissionais.DBEdit6Exit(Sender: TObject); begin if DataSource1.State in [dsInsert, dsEdit] then IBDataSet1TEL_RES.AsString := FormataTel(DBEdit6.Text); end; procedure TFrmCadProfissionais.DBEdit8Exit(Sender: TObject); begin if DataSource1.State in [dsInsert, dsEdit] then IBDataSet1TEL_COM.AsString := FormataTel(DBEdit8.Text); end; procedure TFrmCadProfissionais.DBEdit10Exit(Sender: TObject); begin if DataSource1.State in [dsInsert, dsEdit] then IBDataSet1CELULAR.AsString := FormataTel(DBEdit10.Text); end; procedure TFrmCadProfissionais.IBDataSet2NewRecord(DataSet: TDataSet); begin IBDataSet2COD_PROFISSIONAL.Value := IBDataSet1RECNO.Value; end; procedure TFrmCadProfissionais.PageControl1Change(Sender: TObject); begin if PageControl1.ActivePageIndex = 2 then begin try IBDataSet2.Open; except end; if DataSource1.State in [dsInsert, dsEdit] then begin if Application.MessageBox(´Para se editar a especialidade de um Profissional você deverá confirmar a inclusão do Profissional.´ + #10 + ´´ + 10 + ´Deseja confirmar a Inclusão?´, ´Compounder´, MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1 + MB_APPLMODAL) = ID_YES then IBDataSet1.Post else PageControl1.ActivePageIndex := 0; end; end; end;
Espero ter sido claro desta vez, e mais uma vez, me desculpe.. :(
GOSTEI 0
Afarias
17/09/2004
Estranho...
em q ´OPEN´ exatamente ele trava?? tem certeza q não ´trava´ em um POST (após um Edit)??
T+
em q ´OPEN´ exatamente ele trava?? tem certeza q não ´trava´ em um POST (após um Edit)??
T+
GOSTEI 0
Martins
17/09/2004
[b:ec065a0757]A. Farias[/b:ec065a0757]
Kara tá estranho mesmo... com o q vc postou aki... vou fazer um teste com uns pcs em rede q tenho aqui... vou tentar depurar para ver exatamente onde o sistema é quebrado...
Até breve...
Estranho...
em q ´OPEN´ exatamente ele trava?? tem certeza q não ´trava´ em um POST (após um Edit)??
Kara tá estranho mesmo... com o q vc postou aki... vou fazer um teste com uns pcs em rede q tenho aqui... vou tentar depurar para ver exatamente onde o sistema é quebrado...
Até breve...
GOSTEI 0