S
sim_might
Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中,结构体是不能重复引用的。比如以下形式就不行: TPro_AA = procedure(Var_1 : PBBB)
TAAA = packed record X: Longint
Y: Longint
AA : TPro_AA
end
PAAA = ^TAAA
TPro_BB = procedure(Var_1 : PAAA)
TBBB = packed record X: Longint
Y: Longint
BB : TPro_BB
end
PBBB = ^TBBB;=============================但如果是某些特殊的结构体 如 interface 可以用 在前面添加 接口的方式来重复引用。比如: IAA = interface
IBB = interface
IAA = interface (IUnknown) procedure A1(Var_1 : IBB)
stdcall
end
IBB = interface (IUnknown) procedure A1(Var_1 : IAA)
stdcall
end;===============================现在的 问题是 有没有办法让让普通的记录体 (第一种情况),也能像接口那样重复引用。 当然绕过的办法有很多。但都会改变逻辑结构。工作量太大。
TAAA = packed record X: Longint
Y: Longint
AA : TPro_AA
end
PAAA = ^TAAA
TPro_BB = procedure(Var_1 : PAAA)
TBBB = packed record X: Longint
Y: Longint
BB : TPro_BB
end
PBBB = ^TBBB;=============================但如果是某些特殊的结构体 如 interface 可以用 在前面添加 接口的方式来重复引用。比如: IAA = interface
IBB = interface
IAA = interface (IUnknown) procedure A1(Var_1 : IBB)
stdcall
end
IBB = interface (IUnknown) procedure A1(Var_1 : IAA)
stdcall
end;===============================现在的 问题是 有没有办法让让普通的记录体 (第一种情况),也能像接口那样重复引用。 当然绕过的办法有很多。但都会改变逻辑结构。工作量太大。