Hola a todos!
Tengo un problema con el Panda y un programita de ejemplo que me estaba haciendo para saber si un typecast era posible o no. Os cuento:
Al compilar el programa el antivirus me detecta que éste es un virus del tipo "Generic Backdoor" y me lo borra, por lo que ni siquiera puedo probarlo.
El programa lo único que hace es declarar dos interfaces y una clase que implementa ambas, crea una instancia de ésta clase y la asigna a una variable del tipo IInterface. Después hago llamadas a Support con esta variable y veo si devuelve true (ya que no estaba seguro si siendo una variable del tipo IInterface con support me podía devolver una variable de tipo IInt1 o IInt2). Os paso todo el código
Código:
type
IInt1 = interface
['{34226603-BA7E-4C17-A0E0-4C0E7B0C079C}']
procedure DisplayMsg;
end;
type
IInt2 = interface
['{4025C620-10D1-4A65-872F-8C4374F9F24C}']
procedure DisplayOtherMsg;
end;
type
TMyClass = class(TInterfacedObject, IInt1, IInt2)
public
procedure DisplayOtherMsg;
procedure DisplayMsg;
end;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
icc: IInterface;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
icc1: IInt1;
icc2: IInt2;
LVar: TMyClass;
begin
LVar := TMyClass.Create;
icc := LVar;
if Supports(LVar, IInt1, icc1) then
icc1.DisplayMsg;
if Supports(LVar, IInt2, icc2) then
icc2.DisplayOtherMsg;
end;
{ TMyClass }
procedure TMyClass.DisplayMsg;
begin
ShowMessage('Hola');
end;
procedure TMyClass.DisplayOtherMsg;
begin
showmessage('Hola2');
end;
¿Alguien sabe qué está pasando?
Estoy usando Delphi 2010.
Gracias por la ayuda,
Un saludo,
LoPiTaL
[EDITO:] Al ir comentando / descomentando código, el error me lo da al crear la instancia de TMyClass... No sé si puede ayudar en algo...