Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #5  
Старый 29.03.2012, 10:45
Аватар для vvvch
vvvch vvvch вне форума
Прохожий
 
Регистрация: 28.03.2012
Адрес: г.Боровичи, Новг. обл.
Сообщения: 19
Версия Delphi: Lazarus
Репутация: 10
По умолчанию

Код, что я отправил - работаюший. Но двихок сервера его изменил и сделал неверным, по этому я его отправляю еще раз...
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  Mem : _MEMORYSTATUS;
  RetMem : Cardinal;

  //R:HRESULT;
  B:IOPCBrowseServerAddressSpace;
  Ser:IOPCServer;
  I:IDispatch;
  pEnum:IEnumString;
  S:String;
  pS,ItemID : POleStr;
  L:Longint;
begin
  //R := CoInitializeEx(nil,COINIT_APARTMENTTHREADED);
  //OutputDebugString(PChar(Format('%d',[R])));
  GlobalMemoryStatus(Mem);
  RetMem := Mem.dwAvailVirtual;
  OutputDebugString(PChar(Format('Свободная память: %d',[RetMem - Mem.dwAvailVirtual])));

  //CoGetMalloc(1, Ser);
  Ser:=CreateComObject(ProgIDToClassID('dOPCSim.Kassl.Simulation')) as IOPCServer;
  GlobalMemoryStatus(Mem);
  OutputDebugString(PChar(Format('Память после создания сервера: %d',[RetMem - Mem.dwAvailVirtual])));

  (*Ser.QueryInterface(IID_IOPCBrowseServerAddressSpace,B);
  GlobalMemoryStatus(Mem);
  OutputDebugString(PChar(Format('Память после создания В: %d',[RetMem - Mem.dwAvailPhys])));

  B.BrowseOPCItemIDs(OPC_BRANCH{OPC_LEAF},'',VT_EMPTY,0,pEnum);
  GlobalMemoryStatus(Mem);
  OutputDebugString(PChar(Format('Память после создания перечисления: %d',[RetMem - Mem.dwAvailPhys])));

  //OutputDebugString(PChar(Format('%d',[R])));
  //CoTaskMemFree(pEnum);

  {pEnum.Next(1,pS,@L);
  S := pS;
  OutputDebugString(PChar(Format('%s : %d',[S,L])));

  B.GetItemID(pS,ItemID);
  OutputDebugString(PChar(Format('%s',[ItemID])));

  pEnum.Next(1,pS,@L);
  S := pS;
  OutputDebugString(PChar(Format('%s : %d',[S,L])));

  B.GetItemID(pS,ItemID);
  OutputDebugString(PChar(Format('%s',[ItemID])));}

  B := Nil;*)
  {  CoGetMalloc(1, cntMalloc);
  if Assigned(ppServerStatus.szVendorInfo) then
    cntMalloc.Free(ppServerStatus.szVendorInfo);
  if Assigned(ppServerStatus) then
    cntMalloc.Free(ppServerStatus);}
  //Ser.;
  Ser := Nil;
  GlobalMemoryStatus(Mem);
  OutputDebugString(PChar(Format('Память в конце: %d',[RetMem - Mem.dwAvailVirtual])));
  //CoUninitialize;
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:03.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025