Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

RAS   Найти похожие ветки 

 
Separator ©   (2005-01-21 14:40) [0]

Мне нужно получить имена всех подключений доступных на компе.
Пишу так:
var
   Res: Longint;
   RasEntryName: TRasEntryName;
   lpcb: Longint;
   lpcEntries: Longint;

begin
   cmbxName.Items.Clear;
   lpcb:= SizeOf(RasEntryName);
   RasEntryName.dwSize:= lpcb;
   Res:= RasEnumEntries(nil, nil, @RasEntryName, lpcb, lpcEntries);
   cmbxName.Items.Text:= RasEntryName.szEntryName
end;

Обьясните подробно чего нужно делать, а то так, как пишу я не работает.
Конкретный вопрос:
в lpcb нужно передавать размер буфера, какого? Размер всей структуры, как сделал я или размер RasEntryName.szEntryName


 
Piter ©   (2005-01-21 14:49) [1]

Вырезка из моего компонента:

var
 pEntries, P: PRasEntryName;
 EntriesSize, CountEntries, Res: LongWord;
 RasCon: TRasConnection ;
 i: integer;
begin
 EntriesSize := SizeOf(TRasEntryName);
 New(pEntries);
 try
   pEntries^.dwSize := EntriesSize;
   Res := RasEnumEntries(nil, nil, pEntries, EntriesSize, CountEntries);
   if Res = ERROR_BUFFER_TOO_SMALL then
     begin
       ReallocMem(pEntries, EntriesSize);
       pEntries^.dwSize := SizeOf(TRasEntryName);
       Res := RasEnumEntries(nil, nil, pEntries, EntriesSize, CountEntries);
     end;
   if Res = SUCCESS then
     begin
       P := pEntries;
       for I := 1 to CountEntries do
         begin
           Здесь перечисляются все соединения
           Информация о них содержится в структуре P^

         end;
     end;
 finally
   FreeMem(pEntries);
 end;


 
Separator ©   (2005-01-21 15:04) [2]

// Здесь перечисляются все соединения
// Информация о них содержится в структуре P^

Это место можно поподробней? Чтот не получается.


 
Separator ©   (2005-01-21 15:24) [3]

Ч пишу так:

       if Res = SUCCESS then begin
           P:= pEntries;
           cmbxName.Items.Clear;
           for i:= 0 to CountEntries - 1 do begin
               cmbxName.Items.Add(LPRasEntryName(Integer(P) + EntriesSize * i)^.szEntryName)
           end
       end

Как правильно?
если использовать просто P^.szEntryName то там только название первого соединения, а как получить второе и дальше?


 
Sicilla ©   (2005-01-21 15:51) [4]

Скачай какой-нибудь компононет для работы с этим... Как я:))


 
Separator ©   (2005-01-21 15:56) [5]

А я хочу научиться работать именно с Ras структурами, мне в дальнейшем много для чего нужен будет ras модуль


 
andrey__   (2005-01-21 16:10) [6]

Посмотри это то?

//помещает в AllEntries названия всех удал. подключений
//AllEntries  : TStrings;
procedure GetRasEntriesAll;
var
 BuffSize          : Integer;
 Entries           : Integer;
 Entry             : Array[1..MaxEntries] of TRasEntryName;
 X,Result_         : Integer;

begin
Entry[1].dwSize:=SizeOf(TRasEntryName);
BuffSize:=SizeOf(TRasEntryName)*MaxEntries;
Result_:=RasEnumEntries(nil, nil, @Entry[1], BuffSize, Entries);
If (Result_=0) and (Entries>0) then
Begin
 For X:=1 To Entries Do
  Begin
    AllEntries.Add(Entry[x].szEntryName);
  End;
End;
end;


 
Piter ©   (2005-01-21 16:46) [7]

Separator ©   (21.01.05 14:40)

а вообще, справку не читаем из принципиальных, религиозных убеждений?

Обьясните подробно чего нужно делать, а то так, как пишу я не работает

The RasEnumEntries function lists all entry names in a remote access phone book.

в lpcb нужно передавать размер буфера, какого?

Points to a variable that contains the size, in bytes, of the buffer specified by lprasentryname. On return, the function sets this variable to the number of bytes required to successfully complete the call.

Размер всей структуры, как сделал я или размер RasEntryName.szEntryName

а что, разве в RasEntryName.szEntryName не содержится размер всей структуры?


 
Piter ©   (2005-01-21 16:48) [8]

Separator ©   (21.01.05 15:24) [3]
если использовать просто P^.szEntryName то там только название первого соединения


Ну блин, мог бы и догадаться:

P := pEntries;
      for I := 1 to CountEntries do
        begin
          Здесь перечисляются все соединения
          Информация о них содержится в структуре P^
          inc(P);
        end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.125 c
14-1105959012
pasha_golub
2005-01-17 13:50
2005.02.06
Диеты или способы борьбы с излишним весом


14-1106043390
Fre=
2005-01-18 13:16
2005.02.06
Ищу песня


1-1106438788
FFFFF
2005-01-23 03:06
2005.02.06
Как запретить внесение изменений Items в ComboBox?


14-1105790085
DSKalugin
2005-01-15 14:54
2005.02.06
Где можно стырить список городов Украины?


4-1103434952
DelphiN!
2004-12-19 08:42
2005.02.06
Передача параметров потоковой процедуры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский