C
china_bug
Unregistered / Unconfirmed
GUEST, unregistred user!
各位好汉,我现在遇到了一个问题。我要在CB5里使用原来在DELPHI5中制作的一个类库,其中有一个类中有
两个需要重载的虚函数。例如:
……
function test(x: integer; y: integer):boolean;overload;virtual;
function test(arect: TRect):boolean;overload;virtual;
procedure do();
……
procedure do;
begin
if test(10,10) then
begin
……
end;
if test(Rect(10,10,50,50)) then
begin
……
end;
end;
……
以上代码在DELPHI5中使用正常,而在CB5中使用该类库时,发现test(Rect(10,10,50,50))的调用都变成了对
test(10,10)中的调用。而如果在声明时将两个函数颠倒位置,发现test(10,10)的调用又都变成了
test(Rect(10,10,50,50))的调用。
各位好汉帮帮忙看看究竟是怎么会事!谢谢了!!!
两个需要重载的虚函数。例如:
……
function test(x: integer; y: integer):boolean;overload;virtual;
function test(arect: TRect):boolean;overload;virtual;
procedure do();
……
procedure do;
begin
if test(10,10) then
begin
……
end;
if test(Rect(10,10,50,50)) then
begin
……
end;
end;
……
以上代码在DELPHI5中使用正常,而在CB5中使用该类库时,发现test(Rect(10,10,50,50))的调用都变成了对
test(10,10)中的调用。而如果在声明时将两个函数颠倒位置,发现test(10,10)的调用又都变成了
test(Rect(10,10,50,50))的调用。
各位好汉帮帮忙看看究竟是怎么会事!谢谢了!!!