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

Вниз

Перенос из D3 в D5   Найти похожие ветки 

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

WriteFile(FHandle, OEMStr^, NumberOfBytesToWrite,
FNumberOfBytesWritten,nil)
Этот код работал в Делфи 3, а в петерке возникает следующая ошибка
Types of actual and formal var parameters must be identical


 
MBo ©   (2002-11-13 12:08) [1]

кто бы еще знал, как у тебя параметры описаны


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

Привожу целиком

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.Write(const Str: string);
begin
if not FPrinterOpen then
Exit;
NumberOfBytesToWrite := Length(Str);
OEMStr := PChar(LocalAlloc(LMEM_FIXED, NumberOfBytesToWrite + 1));
try
CharToOem(PChar(Str), OEMStr);
if not WriteFile(FHandle, OEMStr^, NumberOfBytesToWrite,
FNumberOfBytesWritten,nil) 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(string(FErrorString));
end;
finally
LocalFree(Integer(OEMStr));
end;
end;


 
MBo ©   (2002-11-13 12:20) [3]

NumberOfBytesToWrite,
FNumberOfBytesWritten: Cardinal;// он же DWord

И надо ли здесь крыжик???
OEMStr ^


 
asmith   (2002-11-13 12:27) [4]

Вот декларация функции WriteFile из модуля Windows.pas:
function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWORD;
var lpNumberOfBytesWritten: DWORD; lpOverlapped: POverlapped): BOOL; stdcall;
ObjectPascal - строго типизированный язык, поэтому если в прототипе функции параметрв имеют тип DWORD, а подставляются типа Integer - компилятор выдаст ошибку.


 
Cranium ©   (2002-11-13 12:44) [5]

Спасибо за подсказку теперь, теперь при проверке синтаксиса ошибок не возникает, зато при компеляции пишет:
"Internal error: L721"


 
Cranium ©   (2002-11-13 12:46) [6]

Пардон сам виноват, базу в BDE не прописал....



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
1-82777
Азазелло
2002-11-15 17:26
2002.11.25
Delphi+ActiveX Crystal Report 8.5 передача параметров в ХП


1-82845
volph7777
2002-11-13 10:43
2002.11.25
Использование фрэймов


3-82679
Step[B.M.]
2002-11-03 21:49
2002.11.25
Как уменьшить размер базы InterBase?


14-82954
ded_di
2002-11-05 17:08
2002.11.25
Про переезд в Киев


4-83080
BFG-2000
2002-09-12 19:58
2002.11.25
Приведите пример использования WM_SETFONT