Einzelnen Beitrag anzeigen

Andreas2k

Registriert seit: 2. Jan 2003
108 Beiträge
 
Delphi XE5 Professional
 
#8

AW: EnumPrinterDrivers = Zugriffsverletzung (Anfängerfrage)

  Alt 6. Mär 2017, 13:59
PS: Bei SetLength sollte man natürlich die Anzahl der Records und nicht der Bytes reingeben.
Ja, das ist oben in den beiden Quelltexten noch völlig falsch
Das hatte mich anfangs auch gewundert aber der erste aufruf liefert ja nur die benötigten Bytes zurück und nicht die Anzahl Einträge. pcReturned liefert nach dem ersten Aufruf 0 zurück.

Mache ich also ein SetLength(arDriverList, pcReturned);

kommt beim zweiten / finalen aufruf die Fehlermeldung

Zitat:
Der angegebene Benutzerpuffer ist für den angeforderten Vorgang nicht zulässig.
Das war auch der Grund weshalb ich irtümlich Getmem benutzt habe. Ich bekomme einfach nicht die Anz Einträge bis ich eine Buffer übergebe der groß genug ist - sprich pcbNeeded
Andreas
  Mit Zitat antworten Zitat