Forum: Programmieren allgemein
by himitsu,
13. Mär 2007
> http://www.delphipraxis.net/internal_redirect.php?p=694376#694376
kommt drauf an, was man "frisch" nennt :roll:
@Neutral General:
also komisch ist das Ganze schon, denn ich hab für den Test mit deiner Funktion meine Definitionen verwendet.
Die Funktion ist ja i.O. und die Definitionen eigentlich uch, :stupid:
dennoch gehts nicht, obwohl das ganze in meinem Programm läuft, wo ja der...
Forum: Programmieren allgemein
by himitsu,
12. Mär 2007
jetzt sag blos das zeigt was falsches an?
Robert: System.UInt64 :zwinker:
und jupp, dat sagt hier och klappt :gruebel:
obwohl ich demnach angeblich 8 Partitionen hier hab, statt nur 2.
Allerdings scheinen die weiteren Daten selber zu stimmen...
- die Daten der ersten 2 Records kommen anscheinend hin
Forum: Programmieren allgemein
by himitsu,
12. Mär 2007
von nirgendwo?
na ja, im Grunde machen es alle einfach so ... sie reservieren mehr, als es vermutlich gibt :zwinker:
und lassen sich dann im Nachhinein überraschen was in PartitionCount steht.
also meist einfach:
DLI := GetMem(SizeOf(_DRIVE_LAYOUT_INFORMATION_EX)
+ SizeOf(_PARTITION_INFORMATION_EX) * 31);
Im Grunde mach ich genau das Selbe ... oder bist du der Meinung, daß jemand...
Forum: Programmieren allgemein
by himitsu,
12. Mär 2007
Aber vergiß dann nicht vorher abzufragen wieviele Partitionen vorhanden sind, denn du mußt ja mindestens für jede Partition da hinten Speicherplatz reservieren.
Da ich selber ums mir einfacher zu machen und Delphi die Verwaltung des Speicherplatzes aufzubrumen gerne Variablen verwende, hab ich das einfach so gelöst :angel:
mit Variable:Type _DRIVE_LAYOUT_INFORMATION_EX = packed Record
...
Forum: Programmieren allgemein
by himitsu,
12. Mär 2007
// ab Delphi 6:
Type DWord64 = System.UInt64;
LargeWord = System.UInt64;
// und D1 bis D5:
Type DWord64 = Type System.Int64;
LargeWord = Type System.Int64;