Ciao a tutti,
dopo una mattina di ricerche ho trovato il modo di chiamare un metodo della classe che istanzio a run-time. Ecco come si fa:
l'unico problema che ho è che sembrerebbe che la create non crea tutti gli oggetti che sono contenuti nella classe TFrmTDocumenti. Qualcuno si è scontrato con questo problema?codice:var mymethod: procedure(var:string; var1: string; var2: string); ... PackageModule := LoadPackage('VEN.bpl'); //carico il package contenete la classe if PackageModule <> 0 then begin AClass := GetClass('TFrmTDocumenti'); //recupero la classe che mi interessa if aclass <> nil then begin MyForm := TComponentClass(AClass).Create(Application) as TForm; //la istanzio la classe mymethod := MyForm.MethodAddress('setdettaglio'); //il metodo setdettaglio deve essere di tipo published nella classe che lo contiene if Assigned(mymethod) then mymethod('','P','C'); //non ho capito il perchè ma bisogna dichiare una variabile in più all'inizio. MyForm.ShowModal; MyForm.Release; end; UnloadPackage(PackageModule); end;
ciao.
mainetz

Rispondi quotando