![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RAS: Некорректное поведение функции RasGetEntryDialParams [D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
BFG9k © (2005-08-19 15:54:00)Делаю следующим образом :
... uses RasUnit //скачал откуда-то (не Ras.pas)
...
FillChar(DialParams, SizeOf(TRasDialParams), 0);
with DialParams Do
begin
dwSize:=Sizeof(TRasDialParams);
StrPCopy(szEntryName, fEntryName);//fEntryName - имя соединения
end;
R:=RasGetEntryDialParams(nil, DialParams, Fp);
...
R=632. Проблема в том, что ранее этот же код нормально работал, R было равно 0 , производился дозвон и т.д. Что могло случиться ?
RasGetErrorString(632...) - обнаружен неправильный размер структуры. Откуда ? Раньше был правильный! Record field alignment=1. Мистика...
AbrosimovA (2005-08-21 10:32:00) [1]Я пользуюсь следующей функцией:
function GetParamDial(var UserName,Password,Phone: string;
const EntryName: string) : Integer;
var Fp: LongBool;
R : Integer;
dwEntryInfoSize,dwDeviceInfoSize: Longint;
EntryParam: TRasEntry;
begin
FillChar(DialParams, SizeOf(TRasDialParams), 0);
dwEntryInfoSize := sizeof(TRasEntry);
dwDeviceInfoSize:=0;
with DialParams do
begin
dwSize:=Sizeof(TRasDialParams);
StrPCopy(szEntryName, EntryName);
end;
R:=RasGetEntryDialParams(nil, DialParams, Fp);
EntryParam.dwSize := sizeof(TRasEntry);
RasGetEntryPropertiesA(nil, DialParams.szEntryName,
@EntryParam, dwEntryInfoSize, nil, dwDeviceInfoSize);
if R=0 then
with DialParams do
begin
UserName:=szUserName;
if Fp then Password:=szPassword
else Password:='';
end;
Phone:=EntryParam.szLocalPhoneNumber;
Result:=R;
end;