![]() |
|
|
#1
|
||||
|
||||
![]() Добрый день!
Помогите разобраться с коллекциями. Проблема в следующем: есть com-server WinPrice.WPLib ладно в общем код: Код:
var WinPrice, Profile, Query : OleVarian; .... try CoInitialize(nil); WinPrice := CreateOleObject('WinPrice.WPLib'); except end; Profile := WinPrice.OpenProfile(ini.ReadString(IDFIRM, 'Profile', '')); Query := Profile.CreateQuery; Query.Comment := 'блабла'; { в идеале должно быть так: Query.DestPoint := Profile.DestPoints(ClientID); но выдает ошибку Член Группы не найден! } for I := 0 to Profile.DestPoints.Count - 1 do begin // нормально UID показывает if Profile.DestPoints.Item[i].UID = ClientID then // выдает ошибку Член группы не найде Query.DestPoint := Profile.DestPoints.Item[i]; end; Вот кусок описания WPA Цитата:
Жизнь хитрая штука - как только все карты на руках — она решает сыграть с тобой в шахматы ![]() |
#2
|
||||
|
||||
![]() Код:
var objEn : IUnknown; IEnum : IEnumVariant; ObjEnum : OleVariant; Fetched : Cardinal; ..... objEn := Profile.DestPoints._NewEnum; OleCheck(objEn.QueryInterface(IEnumVariant, IEnum)); while Succeeded(IEnum.Next(1, ObjEnum, Fetched)) do begin if Fetched = 0 then Break; if ObjEnum.UID = ini.ReadString(idFirm, 'ClientID' + tempStr, '') then begin Query.DestPoint := ObjEnum; break; end; //В ObjEnum очередной DestPoint end; Жизнь хитрая штука - как только все карты на руках — она решает сыграть с тобой в шахматы ![]() |