Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];

Вниз

Работа с 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.014 c
1-69426
Vetalar
2002-11-10 21:47
2002.11.21
Как ограничить количество знаков после запятой?


3-69155
SpiritS
2002-10-30 15:35
2002.11.21
Работа с компонентами TrichEdit, TdbRichEdit


14-69581
AL2002
2002-11-04 18:08
2002.11.21
Как в СофтАйсе менять значения флагов?


14-69556
Slavan
2002-11-01 16:56
2002.11.21
Конвертация строки в время


14-69546
MFV
2002-11-01 22:30
2002.11.21
Проблемы с Виндой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский