Привет всем. Пробую написать приложение для общения с COM-портом через API функции. Есть такой код в C++ Builder 6:
CODE
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "COMport.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
HANDLE Com_Handle;
void __fastcall TForm1::ConnectBtnClick(TObject *Sender)
{
//-----------------------------------------------------------------
LPCTSTR lpFileName = "COM1";
DWORD dwDesiredAccess = GENERIC_READ|GENERIC_WRITE; // 0xС0000000
DWORD dwShareMode = NULL;
LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL;
DWORD dwCreationDistribution = OPEN_EXISTING; // 0x00000003
DWORD dwFlagsAndAttributes = NULL;
HANDLE hTemplateFile = NULL;
//-----------------------------------------------------------------
Com_Handle = CreateFile(lpFileName,
dwDesiredAccess,
dwShareMode,
lpSecurityAttributes,
dwCreationDistribution,
dwFlagsAndAttributes,
hTemplateFile);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SendBtnClick(TObject *Sender)
{
BOOL SendState ;
LPCVOID lpBuffer; // Указатель на буфер, содержащий данные, которые будут записаны в файл.
DWORD nNumberOfBytesToWrite ;//= 1;// Число байтов, которые будут записаны в файл.
LPDWORD lpNumberOfBytesWritten; // Указатель на переменную, которая получает число записанных байтов
LPOVERLAPPED lpOverlapped; // Указатель на структуру OVERLAPPED
SendState = WriteFile(Com_Handle,
lpBuffer,
nNumberOfBytesToWrite,
lpNumberOfBytesWritten,
lpOverlapped);
//CloseHandle(Com_Handle);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
На форме расположены 3 кнопки. Кнопка ConnectBtn открывает COM-порт. А кнопкой SendBtn пробую что-нибудь отправить. Проект компилируется и запускается, но при нажатии на кнопку SendBtn возникает error вот в таком окне:
Что я делаю не так в функции WriteFile? Как исправить?