Показать сообщение отдельно
Старый 09.06.2007, 17:05   #7
Maxus
ПроЭктировщик
 
Регистрация: 17.02.2006
Сообщений: 144
Написано 13 полезных сообщений
(для 36 пользователей)
Re: RasApi32.DLL - кто знает, как с ней бороться?

Structure  RASENTRYNAME95
    dwSize.l; As Long
    szEntryName.s{#RAS95_MaxEntryName}; As Byte
    Dummy.L
EndStructure
Вот так эффективнее будет, и никаких РЕЕКОВ не нужно.

А вообще вот решение твоей проблемы:
Все глабли твои заключались только в одной константе: #RAS95_MaxEntryName


Ты ставишь 256 байт, а на самом деле максимальная длина пути 260 байт (может меняться) поэтому рекомендую использовать стандартную константу PureBasic #MAX_PATH, которая тебе поможет автоматически применять длинну пути.

Так же немного изменил я твой код, помечено цветом.
Structure  RASENTRYNAME95
    dwSize.l
    szEntryName.s{#MAX_PATH}
EndStructure
Global Dim R.RASENTRYNAME95(255)
Global s.l,l.l,ln.l,a$
R(0)\dwSize = SizeOf(RASENTRYNAME95) ; <<< Зачем тебе считать, когда можно получить размер.
s = 256 * R(0)\dwSize
RasEnumEntries_(#Null, #Null, R(0), s, @ln)
  For l = 0 To ln - 1
    Debug "Подключение №"+Str(l+1)+" >>> "+R(l)\szEntryName  ; Вот тут не работает!
  Next 
If ln = 0 
    Debug "No Dial-Up connections found!"
EndIf
Результат работы программы:
Сообщение от Debug Output
Подключение№1 >>> mts
Подключение№2 >>> qwqw
(Offline)