Forum: Win32/Win64 API (native code)
by Willie1,
18. Nov 2020
Hallo Dalai, ich wollte eure Kompetenz absolut nicht in Frage stellen.
Du hast Recht, man kan auch TStringList nehmen. Das Abfragen der Lw hab' ich schon mit Delphi 6 unternommen nur die Volume-Namen nicht.
Bleibt gesund und schönen Abend
Willie.
Forum: Win32/Win64 API (native code)
by Willie1,
18. Nov 2020
Hallo,
da hat sich mein Thema verselbständigt. Die Methode hat einen tief versteckten Fehler.
Warum soll ich mich damit herumschlagen. Ich habe eine Lösung siehe # 21.
Willie.
Forum: Win32/Win64 API (native code)
by Willie1,
17. Nov 2020
Hallo Freunde,
ich finde den Fehler nicht. Manchmal crasht es auch erst nach dem 3. Mal!
Dann ist es besser, wenn man ganz von vorne anfängt.implementation
uses ShellAPI, System.IOUtils;
{$R *.dfm}
function GetOneDrive(const Drive: string): string;
{Returns the display name for the drive with the given root path.}
var
Forum: Win32/Win64 API (native code)
by Willie1,
16. Nov 2020
Hallo Freunde, (oder *innen)
wg. Augen hab' ich übersehen, dass wir schon auf Seite 2 sind.
Eure Diskussion hat nichts mit dem Fehler zu tun. Assign habe ichschon oft benutzt und das ursprüngliche Objekt mit Free frei gegeben und das läuft!procedure MultiSzToStrings(const MultiSz: PChar;
const Strings: Classes.TStrings);
{Splits out individual strings from given 'MultiSz' strings buffer...
Forum: Win32/Win64 API (native code)
by Willie1,
15. Nov 2020
Hallo Friedrich,
ich habe deine Quelltexte zunächst unverändert übernommen. DDSnippets.pas habe ich nie geändert.procedure TForm1.Button1Click(Sender: TObject);
var
SL: TStringList;
begin
SL:=TStringList.Create;
try
DriveDisplayNames(SL);
ComboBox1.Items.Assign(SL);
ComboBox1.ItemIndex:=0;
Forum: Win32/Win64 API (native code)
by Willie1,
14. Nov 2020
Es funktioniert leider nicht.
Es knallt beim Beenden des Programms.
Ist nicht so schlimm, ich benutze die Tipp-Sammlung von Michael Puff.
Schönes Wochenende Willie.
Forum: Win32/Win64 API (native code)
by Willie1,
12. Nov 2020
Hallo Friedrich,
prima, es hilft. Danke.
Vorschlag an die Delphi-Macher: TDirectory.GetDriveLabel(drive: char) wäre nützlich und leicht zu implementieren.
Gruß Willie.
Forum: Win32/Win64 API (native code)
by Willie1,
11. Nov 2020
Hallo Leute,
dasprocedure TForm1.Button5Click(Sender: TObject);
var
drives: TStringDynArray;
drive: string;
begin
lbDrives.Items.Clear;
drives:=TDirectory.GetLogicalDrives;
for drive in drives do lbDrives.Items.Add(drive);
end;