我不会,但提供 本论坛的资料,可以自己查...
以下摘自本 论坛....huangjiahan 发表...好像有错误,请自行检查...
procedure Tform1.dial(dialnum:String);
begin
comm1.writecommdata(pchar(dialnum), length(dialnum));
timer1.enabled := true;//有无应答定时器
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
dial(num1);//开始modem拨号
end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
rstring:string;
begin
rstring := STRINGOFCHAR(' ', BUFFERLENGTH);
MOVE(BUFFER^, pchar(rstring)^, BUFFERLENGTH); //收串口字符;
if ansipos('NO DIALTONE', trim(rstring)) = 1 then
begin
Memo1.lines.add('没有拨号音。');
timer1.enabled := false;
exit;
end;
end;
奇怪的是,第一次拨号是好的,但如果碰上没有拨号音的时候,想第二次拨号就出现内存出错。真是不明白?