Fórum Problemas ao Abrir 2 programasao mesmo tempo #46802
17/09/2004
0
o que devo fazer?
Desde ja agradeco...
Titanius
Curtir tópico
+ 0Posts
17/09/2004
Afarias
T+
Gostei + 0
17/09/2004
Titanius
Gostei + 0
17/09/2004
Afarias
T+
Gostei + 0
18/09/2004
Titanius
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
19/09/2004
Afarias
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
20/09/2004
Titanius
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
20/09/2004
Afarias
em q ´OPEN´ exatamente ele trava?? tem certeza q não ´trava´ em um POST (após um Edit)??
T+
Gostei + 0
20/09/2004
Martins
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
Clique aqui para fazer login e interagir na Comunidade :)