Главная страница
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.021 c
3-69151
aaZ
2002-10-30 20:43
2002.11.21
Access


14-69573
Карелин Артем
2002-11-04 17:30
2002.11.21
Собираю комп.


3-69196
Live_Aus_Berlin
2002-10-31 22:09
2002.11.21
Есть прога дла расчёта производных функции???


1-69328
DVM
2002-11-12 14:39
2002.11.21
Прозрачные надписи у значков в ListView.


14-69495
Vagif
2002-11-01 16:41
2002.11.21
NDD