Главная страница
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.012 c
1-69284
guood
2002-11-12 10:19
2002.11.21
Как просмотреть свойства всех CheсkBox-ов на форме?


8-69450
Извращенец
2002-07-31 20:53
2002.11.21
Привет. Вот плохой вопрос для вас.


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


1-69245
Осирис
2002-11-11 18:05
2002.11.21
ToolButton справа


1-69338
Blarior
2002-11-10 02:00
2002.11.21
Hellp