2 Duvidas

Delphi

19/11/2004

Ola, tenho duas duvidas:

1- Qual eh o codigo para impidir q a aplicacao seja aberta mais de uma vez?
2- Para rodar um sistema com bd em access, eu preciso do mesmo instalado na maquina?


veleu! ;)


Thales

Thales

Curtidas 0

Respostas

Inutaishou

Inutaishou

19/11/2004

1) Use a função FindWindow procurando uma janela com o título do seu aplicativo... Se existir uma janela, seu aplicativo está em execução... Se não, não...

2) Não precisa... Você só vai precisar do ODBC...

[]´s,


GOSTEI 0
Jc_analista

Jc_analista

19/11/2004

Abaixo um Exemplo:


Var HprevHist : HWND;
begin
  frmsplash:=Tfrmsplash.create(nil);
  frmsplash.Show;
  frmsplash.Refresh;
  Application.Initialize;
  HprevHist := FindWindow(Nil, PChar(´Pctel Crm´));
  if HprevHist = 0 then
  begin
  Application.Title := ´Pctel CRM´;
  Application.ShowMainForm:=false;
  Application.CreateForm(TModuloDados, ModuloDados);
  Application.CreateForm(Tfrmmenu, frmmenu);
  Application.CreateForm(TFrmLogin, FrmLogin);
  frmsplash.Free;
  Application.Run;
  end else
  MessageDlg(´Você não pode executar outra cópia do Pctel Crm´, mtInformation, [mbOK], 0);




GOSTEI 0
Thales

Thales

19/11/2004

oK, MAS qdo executo o FindWindow da o erro: Undeclared Identifier: ´FindWindow´
?? :roll:


GOSTEI 0
Sandra

Sandra

19/11/2004

Thales,

Coloque a unit Windows na uses do projeto.

program Project1;

uses
  Forms, Windows,
  Unit1 in ´Unit1.pas´ ;



GOSTEI 0
Tnaires

Tnaires

19/11/2004

2) Não precisa... Você só vai precisar do ODBC...

Se vc tiver usando ADO com o driver Microsoft Jet, nem do ODBC vc precisa.


GOSTEI 0
POSTAR