quinta-feira, 30 de abril de 2009

Como chamar outra aplicação


Contador de acessoVisitas


No Pocketstudio é possível chamar outra aplicação de dentro da sua, porém o palm não tem o mesmo conceito do windows de passear pelas aplicações mantendo-as abertas, sendo assim, você não poderá voltar a sua aplicação. Para isso, você terá que fechar a aplicação que foi aberta e iniciar a sua aplicação normalmente.

Para executarmos uma aplicação, precisaremos de duas funções:
DmFindDatabase - que se encontra dentro do arquivo PalmOS/DataMgr.pas ou seja na Unit DataMgr. Sua declaração é function DmFindDatabase(cardNo: UInt16; const nameP: PChar): LocalID; external sysTrapDmFindDatabase;

Essa função será responsável por localizar a aplicação pelo nome e nos retornar o dbID que será usado para executar a aplicação.

SysUIAppSwitch - que se encotra dentro do arquivo PalmOS/SystemMgr.pas ou seja Unit SystemMgr. Sua declaração é function SysUIAppSwitch(cardNo: UInt16; dbID: LocalID; cmd: UInt16; cmdPBP: MemPtr): Err; external sysTrapSysUIAppSwitch;

Essa fução será responsável pela execução da aplicação, de que passemos o dbID da aplicação desejada.

Então, a função para executar uma aplicação no Palm ficaria:


function exec (nameP: PChar): UInt16;
var
   dbID: LocalID;
begin
   dbID := DmFindDatabase(0, nameP);
   result := SysUIAppSwitch(0, dbID, sysAppLaunchCmdNormalLaunch, nil);
end;


Se a função não tiver sucesso na execução, ela retornará o número do erro, caso tenha sucesso retornará 0, mas não servirá pois a aplicação principal será fechada.

Nenhum comentário:

Postar um comentário

Advogados
Visitas