RasEntryDlgについて

解決


アル  2007-04-06 17:36:44  No: 25659

RasEntryDlgを使用して、ダイヤルアップのウイザート画面を表示したいのですが、方法定義の仕方がわかりません。どなたかご教授戴けないでしょうか?


ナシ  2007-04-07 02:08:57  No: 25660

const
  RASEDFLAG_PositionDlg = $00000001;
  RASEDFLAG_NewEntry    = $00000002;
  RASEDFLAG_CloneEntry  = $00000004;
  RASEDFLAG_NoRename    = $00000008;
  RASEDFLAG_ShellOwned  = $40000000;

type
  PRasEntryDlgA = ^TRasEntryDlgA;
  PRasEntryDlgW = ^TRasEntryDlgW;
  PRasEntryDlg = PRasEntryDlgA;
  TRasEntryDlgA = record
    dwSize: DWORD;
    hwndOwner: HWND;
    dwFlags: DWORD;
    xDlg: LongInt;
    yDlg: LongInt;
    szEntry: packed array[0..RAS_MaxEntryName] of AnsiChar;
    dwError: DWORD;
    reserved: DWORD;
    reserved2: DWORD;
  end;
  TRasEntryDlgW = record
    dwSize: DWORD;
    hwndOwner: HWND;
    dwFlags: DWORD;
    xDlg: LongInt;
    yDlg: LongInt;
    szEntry: packed array[0..RAS_MaxEntryName] of WideChar;
    dwError: DWORD;
    reserved: DWORD;
    reserved2: DWORD;
  end;
  TRasEntryDlg = TRasEntryDlgA;

function RasEntryDlg(lpszPhonebook: PChar; lpszEntry: PChar; var lpInfo: TRasEntryDlg): BOOL; stdcall;
external 'rasdlg.dll' name 'RasEntryDlgA';


アル  2007-04-09 19:59:25  No: 25661

誠にありがとうございます。
実際にRasEntryDlgを実行するロジックですが、lpInfoには何を指定すればよろしいでしょうか?初心者でお手数おかけします。


アル  2007-04-09 23:39:13  No: 25662

var
  RasEntryDlgA : TRasEntryDlgA;
begin
  with RasEntryDlgA do
  begin
    dwFlags := RASEDFLAG_NewEntry;
    dwSize  := sizeof(RasEntryDlgA);
  end;
  RasEntryDlg(nil,nil,RasEntryDlgA);
end;

のように記載してみましたが、アドレス違反となってしまいます。


お気に召すまま  2007-04-10 02:04:27  No: 25663

var
  RasED : PRasEntryDlg;
begin
  New(RasED);
  FillChar(RasED^, SizeOF(RasED^), 0);    // ワスレタラ違反キップ1000点
  with RasED^ do begin
    dwFlags := RASEDFLAG_NewEntry;
    dwSize  := Sizeof(RasED^);
    hwndOwner:= Self.Handle;
  end;
  RasEntryDlg(nil, nil, RasED^);
  Dispose(RasED);
end;

var
  RasED: TRasEntryDlg;
begin
  FillChar(RasED, SizeOF(RasED), 0);    // ワスレタラ違反キップ1000点
  with RasED do begin
    dwFlags := RASEDFLAG_NewEntry;
    dwSize  := Sizeof(RasED);
    hwndOwner:= Self.Handle;
  end;
  RasEntryDlg(nil, nil, RasED);
end;


アル  2007-04-10 02:20:45  No: 25664

ありがとうございました。
無事に解決致しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加