Показать сообщение отдельно
  #1  
Старый 16.11.2010, 14:34
Trepolog Trepolog вне форума
Прохожий
 
Регистрация: 16.11.2010
Сообщения: 1
Репутация: 10
По умолчанию Ошибка компиляции записи в модем

Код:
var
  hCommFile: THandle;

procedure TForm1.Button1Click(Sender: TObject);
var
  PhoneNumber: string;
  CommPort: string;
  NumberWritten: LongInt;
begin
  PhoneNumber := 'ATDT 1-555-555-1212' + #13 + #10;
  CommPort := 'COM2';
  {Open the comm port}
  hCommFile := CreateFile(PChar(CommPort),
    GENERIC_WRITE,
    0,
    nil,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    0);
  if hCommFile = INVALID_HANDLE_VALUE then
  begin
    ShowMessage('Unable to open ' + CommPort);
    exit;
  end;

  {Dial the phone}
  NumberWritten := 0;
  if WriteFile(hCommFile,
    PChar(PhoneNumber)^,
    Length(PhoneNumber),
    NumberWritten,
    nil) = false then
  begin
    ShowMessage('Unable to write to ' + CommPort);
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  {Close the port}
  CloseHandle(hCommFile);
end;
Привет.
При вызове WriteFile появляется ошибка
Код:
[Error] Unit1.pas(58): Types of actual and formal var parameters must be identical
и курсор мигает на NumberWritten, что не так??
Ответить с цитированием