Acessar procedure/funcao de Classe criada dinamicamente
31/08/2004
0
Gostaria de obter um auxilio para poder acessar uma funcao publica de uma classe criada por mim e carregada dinamicamente em um aplicativo
por exemplo:
esta é a unit onde crio minha classe, ela fica dentro de um package criado (arquivo pacote.bpl).
unit classe;
...
minhaclasse = class
...
public
procedure displaymsg;
end;
...
procedure minhaclasse.displaymsg;
begin
showmessage(´minha classe´);
end;
initialization
registerclass(minhaclasse);
finalization
Unregisterclass(minhaclasse);
...
e em outro aplicativo eu carrego dinamicamente este pacote usando o seguinte:
procedure carrega;
var
i: integer;
sFile: string;
modelo: TPersistentClass;
begin
SetLength(APackage, 0);
sFile:=ExtractFilePath(Application.ExeName)+´pacote.bpl´;
if FileExists(sFile) then begin
SetLength(APackage, Length(APackage) + 1);
APackage[Length(APackage)-1]:=LoadPackage(sFile);
end;
modelo:=TComponentClass(modelo).create(self);
end;
o problema é como chamar a função displaymsg desta classe criada dinamicamente, pois quando vou fazer algo tipo modelo.displaymsg o delphi nao identifica esta procedure na classe criada, li o artigo da edição 54 da revista clubedelphi mas não obtive sucesso.
Qquer ajuda será importante
Ederson
Analista/Programador
Eselvati
Posts
31/08/2004
Emerson Nascimento
modelo:=MinhaClasse.Create;
modelo.displaymsg;
31/08/2004
Eselvati
31/08/2004
Eselvati
31/08/2004
Eselvati
03/09/2004
Ipc$
modelo:=TComponentClass(modelo).create(self); :?:
03/09/2004
Eselvati
A minha dúvida é a seguinte, no exemplo eu dei mancada, mas a incognita continua
como executar a procedure displaymsg da classe minhaclasse ? já q ela foi criada dinamicamente e eu nao posso fazer typecast nesta classe pois se eu fizer (modelo as tminhaclasse).displaymsg o delphi nao vai entender e eu tb nao posso declarar uma variavel modelo: tminhaclasse pq a classe ta dentro de um bpl e nao na aplicação principal.
Posso estar meio confuso em explicar isto mas é o q está no artigo da revista 54 do clubedelphi, só q a classe q é criada dinamicamente no exemplo é herdada de tform então herda os métodos, showmodal, show e outros da classe, onde eu consigo fazer (modelo as tminhaclasse).showmodal (isto se modelo for herdada de TFORM).
Desculpem pelo problema
Ederson Selvati
03/09/2004
Ipc$
Clique aqui para fazer login e interagir na Comunidade :)