RAS.pas тут
Схемка выводящяя активные соединения:
Add(InlineCode,10220536,245,161)
{
WorkPoints=#6:dowork|
EventPoints=#8:onResult|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|25:uses kol,Share,Debug,RAS;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|8: public|21: onResult:THI_Event;|48: procedure doWork(var _Data:TData; Index:word);|6: end;|0:|14:implementation|0:|58:procedure THiAsmClass.doWork(var _Data:TData; Index:word);|3:var|20: conns: LPRasConn;|31: ConnCount, bufsize: longint;|14: i: integer;|26: status: TRASCONNSTATUS;|22: CStat,CName:string;|5:begin|19: bufsize := 2048;|49: // Определение количества активных соединений:|47: RasEnumConnections(nil, bufsize, ConnCount);|25: if ConnCount > 0 then |8: begin|26: // Выделение памяти:|29: GetMem(conns, bufsize);|40: conns^.dwSize := sizeof(TRasConn);|62: // Заполнение conns информацией об активных соединениях:|52: RasEnumConnections(conns, bufsize, ConnCount);|46: status.dwSize := sizeof(TRasConnStatus);|48: // Заполнение items названиями соединений:|42: for i := 0 to ConnCount - 1 do begin|51: CName:=conns^.szEntryName;// - имя соединения|57: //_hi_OnEvent(onResult,conns^.szDeviceType);//- тип|47: // conns^.szDeviceName - имя устройства|52: RasGetConnectStatus(conns^.hrasconn, status);|55: // CStat:=int2str(status.rasconnstate);// - статус|57: // _hi_OnEvent(onResult, status.dwError);// - ошибки|8: |36: _hi_OnEvent(onResult,CName);|19: inc(conns);|10: end;|29: // Освобождение памяти:|28: dec(conns, ConnCount);|21: FreeMem(conns);|7: end;|4:end;|0:|4:end.|
link(onResult,11473502:doAdd,[])
}
Add(Button,7400522,189,161)
{
Left=185
Top=160
Align=2
link(onClick,10220536:dowork,[])
}
Add(Memo,11473502,301,161)
{
Left=290
Top=165
}