|
Тема |
GetPrinterDriverDirectory [re: Ивaнчo] |
|
Автор |
NikB (член) |
|
Публикувано | 12.08.09 19:54 |
|
|
За да стане работата, трябва да определя GetPrinterDriverDirectory.
Това става с двукратно викане - първо, с дължина на структурата 0, за да видим колко е желаната от Бил Гейтс дължина и след това - указател към свободна памет с тоя размер.
Викам онова по-долу и ми връща стринг
'C:\WINDOWS\System32\spool\DRIVERS\W32X86'
който е с дължина 35 (около) байта, а ми иска да заделям 82 байта.
Изглежда ми странно - ИМА ЛИ НЯКАКВО ОБЯСНЕНИЕ?
iCnt := 0;
GetPrinterDriverDirectory( '', '', 1, @s, 0, i);
if i>0 then begin
iCnt := i;
GetMem( pDir, iCnt);
try
if GetPrinterDriverDirectory( '', '', 1, pDir, iCnt, iCnt) then begin
s := string( pDir);
end;
finally
FreeMem( pDir, i);
end;
end;
|
| |
|
|
|