Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Внизмодем Найти похожие ветки
← →
Sicilla © (2005-01-17 20:19) [0]Подскажите, как мне включить/выключить динамик модема?
← →
Sicilla © (2005-01-17 20:57) [1]Я нашел такой код:
procedure TForm1.Button1Click(Sender: TObject);
var
phoneCommand: string;
CommPort: string;
NumberWritten: LongInt;
begin
PhoneCommand := "atm0" + #13 + #10;
CommPort := "COM3";
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;
NumberWritten := 0;
if WriteFile(hCommFile,PChar(PhoneCommand)^,Length(PhoneCommand),NumberWritten,nil) = false then //здесь ошибка.
begin
ShowMessage("Unable to write to " + CommPort);
end;
CloseHandle(hCommFile);
end;
Помогите, кто может
← →
dimaxx © (2005-01-17 23:52) [2]var
phoneCommand: string;
CommPort: string;
NumberWritten: cardinal;
hCommFile: THandle;
begin
PhoneCommand:="atm0"+#13#10;
CommPort:="COM3";
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;
if not WriteFile(hCommFile,PChar(PhoneCommand)^,Length(PhoneCommand),NumberWritten,nil) then
begin
ShowMessage("Unable to write to "+CommPort);
end;
CloseHandle(hCommFile);
end;
← →
Sicilla © (2005-01-18 17:02) [3]В строке
WriteFile(hCommFile,PChar(PhoneCommand)^,Length(PhoneCommand),NumberWritten,nil)
у меня вылетает ошибка Types of actual and formal var parameters must be identical. Не могу понять в чем дело. Помогите!?
← →
dimaxx © (2005-01-18 22:40) [4]А мой код посмотреть лень? У меня все заработало.
NumberWritten должен быть типа cardinal (он же longword), а не longint. Вот оттуда и ошибка. Она означает, что типы передаваемого и объявленного параметров должны быть идентичными.
← →
Sicilla © (2005-01-18 23:04) [5]Я это понял, спасибо. Но теперь не могу вызвать правильную команду. Помоги, если не трудно.
← →
dimaxx © (2005-01-19 23:27) [6]Команда atm0 правильная. Может, в конце нулевой символ поставить, а не перевод строки? То есть "atm0"+#0
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.051 c