Mam taki oto problem:
Jest klasa TKlasa, która dziedziczy metody z interfejsu IKlasa:
IKlasa = interface
procedure Done;
end;
TKlasa = class(TComObject, IKlasa)
procedure Done;
constructor Create;
destructor Destroy; reintroduce;
end;
Program wczytuje bibliotekę dll, pobiera z niej nowo stworzoną klase jako interfejs:
result := IKlasa(TKlasa.Create);
Wywoluje metode "Done"
var
IntfKlasa: IKlasa;
begin
{. . .
Wczytuje
. . .}
IntfKlasa.Done;
I tutaj mam problem. Chce obiekt reprezentowany przez interfejs zniszczyć. Próbowałem rzutować IKlasa na TKlasa i wywolac Free
TKlasa( IntfKlasa ).Free;
Lecz to skutkuje wyjątkami Acces Violation (CCCCFFFF)
Macie jakieś pomysły?
//EDIT:
Chyba ma to związek z tym, że obiekt jest tworzony w funkcji w pliku dll, a próbuje zostać zniszczony w programie
Pozdrowienia, HappyHardcore