Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

Работа с LPT. В D3 все работало, а в D5 ругается, вот пример кода   Найти похожие ветки 

 
Cranium ©   (2002-11-13 01:12) [0]

В D3 все работало, а в D5 ругается....
[Error] UnitCon.pas(370): Types of actual and formal var parameters must be identicalВот пример кода


private
{ Private declarations }
public
{ Public declarations }
end;

var
PrintYes: Boolean;
FormCon: TFormCon;
FHandle: THandle;
FErrorString: PChar;
FPrinterOpen: Boolean;
FNumberOfBytesWritten: Integer;
NumberOfBytesToWrite: Integer;
OEMStr: PChar;

.............................
procedure TFormCon.OpenPort;
begin
FHandle := CreateFile("LPT1", GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ
or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
if FHandle = INVALID_HANDLE_VALUE then
begin
if FErrorString <> nil then
LocalFree(Integer(FErrorString));
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM,
nil,
GetLastError(),
LANG_USER_DEFAULT,
@FErrorString,
0,
nil);
{SetErrorString; }
raise Exception.Create(FErrorString);
end
else
FPrinterOpen := True;
end;
procedure TFormCon.ClosePort;
begin
CloseHandle(FHandle);
if FErrorString <> nil then
LocalFree(Integer(FErrorString));
end;


 
Юрий Зотов ©   (2002-11-13 01:25) [1]

Еще бы знать, а на что же она ругается...
Уж не на это ли: Exception.Create(FErrorString)?
Ну тогда правильно ругается. А вот так не должна:
Exception.Create(string(FErrorString));

А вообще, то же самое пишется намного проще:

var
FHandle: THandle = 0;
FPrinterOpen: Boolean = False;

procedure TFormCon.OpenPort;
begin
FHandle := CreateFile(...);
FPrinterOpen := Win32Check(FHandle <> INVALID_HANDLE_VALUE)
end;

procedure TFormCon.ClosePort;
begin
CloseHandle(FHandle)
end;


 
Cranium ©   (2002-11-13 01:56) [2]

Ругается вот на это место...
if not WriteFile(FHandle, OEMStr^, NumberOfBytesToWrite,
FNumberOfBytesWritten,nil) then



Страницы: 1 вся ветка

Текущий архив: 2002.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-69516
Cr@sh
2002-11-01 17:34
2002.11.21
Мастера, помогите... не то я с собой че-нибудь сделаю...


3-69127
Shatun
2002-11-01 09:40
2002.11.21
Помогите с подставными полями d DBGrid.


14-69489
Николай Быков
2002-11-01 18:05
2002.11.21
Встреча Мастаков в Новосибирске


4-69621
Oxy2
2002-10-08 11:40
2002.11.21
Проблемы с локальным хуком WH_SHELL


4-69615
vidiv
2002-10-02 09:46
2002.11.21
Как сделать