Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249085 (10521)

| Suchen
| Zurück zur Übersicht

Autor | Thema: GetVolumeInformation
Stefan Schnell
| Datum:30.03.02 08:03 (mail@stschnell.de) |
Hallo Community, grüble gerade über die WinAPI-Funktion GetVolumeInformation, rufe sie wie folgt auf: '*HeaderDateien************************************************ $H Windows.ph '*VariablenDeklaration***************************************** Declare VolumeName$, VolSerialNum&, MaxCompLen& Declare FileSysFlags&, FileSysName$ '*Hauptprogramm************************************************ ~GetVolumeInformation(0, @Addr(VolumeName$), 256, @Addr(VolSerialNum&), \ @Addr(MaxCompLen&), @Addr(FileSysFlags&), @Addr(FileSysName$), 256) Print VolumeName$ Print VolSerialNum& Print MaxCompLen& Print FileSysFlags& Print FileSysName$ WaitKey '*Ende********************************************************* End In den Variablen der VolumeName$ und FilySysName$ erhalte ich nichts zurück, obwohl die Rückgabe des Funktionsaufrufes die korrekte Übergabe angibt. Was mache ich falsch? Danke für Eure Antworten. Tschüss Stefan Schnell
Roland G. Hülsmann
| Datum:30.03.02 10:39 (rgh-soft@t-online.de) |
> In den Variablen der VolumeName$ und FilySysName$ erhalte ich > nichts zurück, obwohl die Rückgabe des Funktionsaufrufes die > korrekte Übergabe angibt. Was mache ich falsch? Du mußt in diesem Fall die Stringvariablen zuvor auf die mögliche Länge des Ergebnisses erweitern. Also zum Beispiel VolumeName$ = Space$(255) FileSysName$ = Space$(255) Hintergrund: Da der API-Aufruf die Längeninformation des Strings nicht verändert, muß er zuvor groß genug gemacht werden, um das Ergebnis aufzunehmen. (Macht man das nicht, kann es sogar eine Zugriffsverletzung geben. In Delphi verhält es sich übrigens gnauso.) Nach dem Aufruf kann der String dann mit trim$ auf de tatsächlich zurückgegebene Länge gekürzt werden. Gruß Roland
Stefan Schnell
| Datum: 30.03.02 16:41 (mail@stschnell.de) |
Hallo Roland, Danke für die Antwort, funktioniert wunderbar. Tschüss Stefan Schnell

| Zurück zur Übersicht