Pq o comp. JEDI, 1 Instancia do Aplic, não funciona aki ?

29/06/2008

0

Olá!

Inseri um comp. do JEDI, uma instancia do aplicativo no meu Menu principal, fiz o teste e funcionou tudo ok.
Pois pecebi q o programa p/ verifiar, carrega o programa até o menu, p/ ser detectado, então resolvi coloca-lo no .dpr.
Ao criar e inseri o mesmo no .dpr, não funcionou.
Veja a rotinas:

A quem puder ajudar, desde já meus agradecimentos.
---------------------
//Arquivo .DPR...
....
Var Frm_inicio : TFrm_inicio;
JvAppInstances1: TJvAppInstances;

begin
//---------------------------------//
Application.Initialize;
//---------------------------------//
JvAppInstances1:= TJvAppInstances.Create(application);;
JvAppInstances1.Active := true;
JvAppInstances1.MaxInstances := 1;
JvAppInstances1.SendCmdLine := true;
JvAppInstances1.AutoActivate := true;

Application.Title := ´Acê_Informatica´;

Frm_inicio := TFrm_inicio.Create(application);
Frm_inicio.Show;
Frm_inicio.Refresh;
...
Application.CreateForm(TDMCN, DMCN);
Application.CreateForm(TFrm_Menu, Frm_Menu);
....
FreeAndNil(Frm_inicio);
Application.Run;
---------------------

100+

ANT.CARLOS/SP


Ant.carlos/sp

Ant.carlos/sp

Responder

Posts

30/06/2008

Onjahyr

Cara... Use MUTEX, é bem mais simples e direto. Componentes é só para qdo não existir opções ou quiser fazer mais rápido sem pesquisar....

[b:cd6cb756ae]Exemplo:[/b:cd6cb756ae]

program Exemplo;

uses
  Windows,

{$R *.res}

var
  Mutex  : THandle;

begin
// Pode colocar caracteres, simbolos, numeros, etc...
  Mutex := CreateMutex(nil, True, ´12A,B-FD..Py5/4´);
  if Mutex <> 0 then //Encontrou sua aplicação
    begin
      if GetLastError = ERROR_ALREADY_EXISTS then
        begin
          CloseHandle(Mutex); // Fecha Handle
          Halt; // Fecha a segunda aplicação

          Exit; // Sai
        end;
    end;

  Application.Initialize;
  Application.Title := ´Título da minha aplicação´;
  Application.CreateForm(Tfrm_Principal, frm_Principal);
  Application.Run;
end.



Simples assim.... Aonde tem: [b:cd6cb756ae]12A,B-FD..Py5/4[/b:cd6cb756ae]
Pode renomear para qualquer coisa, nome, número, simbolo.... é o identificador que ficará na memória, se for executar mais de uma vez ele vê que este Mutex já existe e não permitirá executar a aplicação.

Obs.: Não é tirando o mérito dos componentes da JEDI não, alias, são os melhores componentes que existe para Delphi. Eu mesmo uso eles!

Blz.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar