请指教: delphi5中不能编译通过,在delphi3中可以(50分)

  • 主题发起人 主题发起人 Jenkin_lj
  • 开始时间 开始时间
J

Jenkin_lj

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是代码:
function TPrinter.GetDefaultPrinter: String;
var
p: array [0..100] of TPrinterInfo2;
i, pcbNeeded, pcReturned: Integer;
begin
try
begin
pcbNeeded := 0;

if not EnumPrinters(PRINTER_ENUM_LOCAL, nil, 2, @p, 8000, pcbNeeded, pcReturned) then

raise Exception.Create('');
for i:= 0 to pcReturned-1do
if p.Attributes and PRINTER_ATTRIBUTE_DEFAULT
= PRINTER_ATTRIBUTE_DEFAULT then
begin
Result := p.pPrinterName;
Exit;
end;
end;
except
Result := 'UnKnown';
Exit;
end;
Result := 'UnKnown';
end;
错误信息:
Types of actual and formal var parameters must be identical
光标停在pcbNeeded,后面
谢谢观看
 
好像它的参数用错了吧
EnumPrinters
 
那请教jianguobu,如何改阿,谢谢您的回答
 
pcbNeeded, pcReturned
这两个参数是指针类型吧,你看看帮助.
 
pcbNeeded, pcReturned: Integer;
改成dword就可以拉
 

Similar threads

后退
顶部