Hallo,
ich versuche den Dialog für die Konfiguration eines Modems aufzurufen. Leider komme ich damit nicht so ganz klar.
Es gibt beim Code von unten eine Zugriffsverletzung. Was mache ich falsch. Sind die Definitionen der importierten Kernel32.dll Funktionen in windows.pas richtig??<br>
// modemName: bekannter Name des Modems <br>
// handle: handle des Parent Fensters <br>
procedure ModemConfigDialog(const modemName:string; handle:HWND);<br>
var<p>
h:THandle;<br>
pcc:PCommConfig;<br>
sizeWord;<br>
begin<br>
(*<br>
h:=CreateFile(<br>
PChar('COM1'), // pointer to name of the file<br>
0, // access (read-write) mode<br>
0, // share mode<br>
NIL, // pointer to security attributes<br>
OPEN_EXISTING, // how to create<br>
0, // file attributes<br>
0 // handle to file with attributes to copy<br>
);<br>
<br>
if h=INVALID_HANDLE_VALUE then<br>
RaiseLastWin32Error;<br>
*)<br>
GetMem(pcc, sizeof(TCommConfig));<br>
try<br>
FillChar(pcc^, sizeof(TCommConfig), 0);<br>
pcc^.dwSize:=sizeof(TCommConfig);<br>
if not GetDefaultCommConfig(PChar(modemName), pcc^, size) <br>then begin<br>
FreeMem(pcc);<br>
GetMem(pcc, size);<br>
pcc^.dwSize:=size;<br>
end;<br>
(*<br>
if not GetCommConfig(h, pcc^, size) then<br>
RaiseLastWin32Error;<br>
*)<br>
if not CommConfigDialog(PChar(modemName), handle, pcc^) <br>then<br>
RaiseLastWin32Error;<br>
finally<br>
// CloseHandle(h);<br>
FreeMem(pcc);<br>
end;<br>
end;<br>
<p>
Hansjörg Reister (mailto:[email protected])
ich versuche den Dialog für die Konfiguration eines Modems aufzurufen. Leider komme ich damit nicht so ganz klar.
Es gibt beim Code von unten eine Zugriffsverletzung. Was mache ich falsch. Sind die Definitionen der importierten Kernel32.dll Funktionen in windows.pas richtig??<br>
// modemName: bekannter Name des Modems <br>
// handle: handle des Parent Fensters <br>
procedure ModemConfigDialog(const modemName:string; handle:HWND);<br>
var<p>
h:THandle;<br>
pcc:PCommConfig;<br>
sizeWord;<br>
begin<br>
(*<br>
h:=CreateFile(<br>
PChar('COM1'), // pointer to name of the file<br>
0, // access (read-write) mode<br>
0, // share mode<br>
NIL, // pointer to security attributes<br>
OPEN_EXISTING, // how to create<br>
0, // file attributes<br>
0 // handle to file with attributes to copy<br>
);<br>
<br>
if h=INVALID_HANDLE_VALUE then<br>
RaiseLastWin32Error;<br>
*)<br>
GetMem(pcc, sizeof(TCommConfig));<br>
try<br>
FillChar(pcc^, sizeof(TCommConfig), 0);<br>
pcc^.dwSize:=sizeof(TCommConfig);<br>
if not GetDefaultCommConfig(PChar(modemName), pcc^, size) <br>then begin<br>
FreeMem(pcc);<br>
GetMem(pcc, size);<br>
pcc^.dwSize:=size;<br>
end;<br>
(*<br>
if not GetCommConfig(h, pcc^, size) then<br>
RaiseLastWin32Error;<br>
*)<br>
if not CommConfigDialog(PChar(modemName), handle, pcc^) <br>then<br>
RaiseLastWin32Error;<br>
finally<br>
// CloseHandle(h);<br>
FreeMem(pcc);<br>
end;<br>
end;<br>
<p>
Hansjörg Reister (mailto:[email protected])
Comment