var
i:integer;
ErrorFlag:Boolean;
ItemObj:OPCItem;
ItemIDs:array[1..2] of string;
ItemClientHandles:array[1..2] of integer;
Errors:array of integer;
begin
if ErrorFlag=False then
FOPCItems:=FOPCGroup.OPCItems;
ItemIDs[1]:=Edit2.Text;
ItemIDs[2]:=Edit3.Text;
ItemClientHandles[1]:=1;
ItemClientHandles[2]:=2;
FOPCItems.AddItems(
2,ItemIDs,ItemClientHandles,MyItemServerHandles,Errors);
end;创建Items项时出现问题:最后一句错误提示 Types of actual and formal var parameters must be identical
:
i:integer;
ErrorFlag:Boolean;
ItemObj:OPCItem;
ItemIDs:array[1..2] of string;
ItemClientHandles:array[1..2] of integer;
Errors:array of integer;
begin
if ErrorFlag=False then
FOPCItems:=FOPCGroup.OPCItems;
ItemIDs[1]:=Edit2.Text;
ItemIDs[2]:=Edit3.Text;
ItemClientHandles[1]:=1;
ItemClientHandles[2]:=2;
FOPCItems.AddItems(
2,ItemIDs,ItemClientHandles,MyItemServerHandles,Errors);
end;创建Items项时出现问题:最后一句错误提示 Types of actual and formal var parameters must be identical
:
procedure AddItems(NumItems: Integer; var ItemIDs: afeArray; var ClientHandles: afeArray; out ServerHandles: afeArray; out Errors: afeArray);
var
NumItems:Integer;
OVItemID:OleVariant;
OVClientHandles:OleVariant;
OVServerHandles:OleVariant;
OVErrors:OleVariant;
OleErr:string;
begin
FOPCItems.AddItems(
2,PSafeArray(TVarData(OVItemID).VOleStr),
PSafeArray(TVarData(OVClientHandles).VInteger),
PSafeArray(TVarData(OVServerHandles).VInteger),
PSafeArray(TVarData(OVErrors).VInteger),
EmptyParam,
EmptyParam
);
end;
提示错误是:[Error] Opc.pas(137): Not enough actual parameters 没有足够的实际参数
在OPCSiemensDAAutomation_TLB 单元文件中 uses ActiveX
PSafeArray(ItemClientHandles),
PSafeArray(MyItemServerHandles),
PSafeArray(Errors));
提示的错误是:[Error] Opc.pas(282): Invalid typecast (无效的类型转换)
跪求~~~啊
case5166
(我看见佛)
说的都给你回答了啊,就是类型不对。