📄 iopcbrowseserveraddressspaceimpl.pas
字号:
function TDA2.QueryOrganization(out pNameSpaceType:OPCNAMESPACETYPE):HResult;stdcall;
begin
pNameSpaceType:=OPC_NS_FLAT;
result:=S_OK;
end;
function TDA2.ChangeBrowsePosition(dwBrowseDirection:OPCBROWSEDIRECTION;
szString:POleStr):HResult;stdcall;
begin
result:=E_FAIL
end;
function TDA2.BrowseOPCItemIDs(dwBrowseFilterType:OPCBROWSETYPE; szFilterCriteria:POleStr;
vtDataTypeFilter:TVarType; dwAccessRightsFilter:DWORD;
out ppIEnumString:IEnumString):HResult;stdcall;
var
i:integer;
tList:TStringList;
begin
//add filter support
result:=S_OK;
tList:=nil;
try
tList:=TStringList.Create;
if tList = nil then
begin
result:=E_OUTOFMEMORY;
Exit;
end;
for i:= low(posItems) to high(posItems) do
tList.Add(posItems[i].tagname);
ppIEnumString:=TOPCStringsEnumerator.Create(tList);
finally
tList.Free;
end;
end;
function TDA2.GetItemID(szItemDataID:POleStr; out szItemID:POleStr):HResult;stdcall;
var
propID:integer;
begin
result:=S_OK;
if length(szItemDataID) = 0 then
szItemID:=StringToLPOLESTR(szItemDataID)
else
begin
propID:=ReturnPropIDFromTagname(szItemDataID);
if propID = 0 then
result:=OPC_E_UNKNOWNITEMID
else
szItemID:=StringToLPOLESTR(szItemDataID);
end;
end;
function TDA2.BrowseAccessPaths(szItemID:POleStr; out ppIEnumString:IEnumString):HResult;stdcall;
begin
result:=E_NOTIMPL;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -