G
guifuli
Unregistered / Unconfirmed
GUEST, unregistred user!
我碰到一个怪问题,就是在一个类中实现了一个接口,然后在调用时将此类转换成一个接口中调用接口中的方法时,第一次调用成功,但第二次调用时失败,不知为什么?如下:
type
ITestInterface = interface
['{CC46759F-DA2D-479B-964E-DEB641BE2A85}']
function TestFuncation: Boolean;
end;
TTestClass = class(TInterfacedObject, ITestInterface)
function TestFuncation: Boolean;
end;
var
TestClass: TTestClass;
begin
TestClass := TTestClass.Create;
try
//下面这句第一次调用时正确,第二次调用时报地址错误
if (TestClass as ITestInterface).TestFuncation then
ShowMessage('OK');
finally
TestClass.Free;
end;
end;
由于程序太大,不可能全部摘录下来,所以只做了个示范而已,不知有谁遇到过没有,如果有的话请指点一二,谢谢。
type
ITestInterface = interface
['{CC46759F-DA2D-479B-964E-DEB641BE2A85}']
function TestFuncation: Boolean;
end;
TTestClass = class(TInterfacedObject, ITestInterface)
function TestFuncation: Boolean;
end;
var
TestClass: TTestClass;
begin
TestClass := TTestClass.Create;
try
//下面这句第一次调用时正确,第二次调用时报地址错误
if (TestClass as ITestInterface).TestFuncation then
ShowMessage('OK');
finally
TestClass.Free;
end;
end;
由于程序太大,不可能全部摘录下来,所以只做了个示范而已,不知有谁遇到过没有,如果有的话请指点一二,谢谢。