Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Alle MountPoints auslesen (https://www.delphipraxis.net/149586-alle-mountpoints-auslesen.html)

Captnemo 6. Okt 2015 07:47

AW: Alle MountPoints auslesen
 
Zitat:

Zitat von Neutral General (Beitrag 1317748)
Notfalls halt einfach grad die Funktion von MSDN abtippen.

Wie, abtippen?


Die sich oben beteiligten DP-Mitglieder verwenden die Funktion ja auch. Also bin ich jetzt mal von einer Unit in den Uses ausgegangen. Oder sind das ggf. Funktionen einer DLL z.b. kernel? Leider postet ja niemand den Interface-Abschnitt.

Captnemo 6. Okt 2015 08:13

AW: Alle MountPoints auslesen
 
Okay, geht wohl nur wenn ich die Function aus der kernel32 importiere:

Delphi-Quellcode:
    function FindFirstVolume(lpszVolumeName: PChar; cchBufferLength: DWord): THandle; stdcall; external 'kernel32.dll' name 'FindFirstVolumeA';
    function FindNextVolume(hFindVolume: THandle; lpszVolumeName: LPTSTR; cchBufferLength: DWORD): BOOL; stdcall; external 'kernel32.dll' name 'FindNextVolumeA';
    function FindVolumeClose(hFindVolume: THandle): BOOL; stdcall; external 'kernel32.dll' name 'FindVolumeClose';
Allerdings meckert mir jetzt Delphi die erste Zeile gleiche an:
Code:
Erwartet: ':', aber ein String-Literal "kernel32.dll" erhalten in Zeile 42
Aber Schreibweise ist laut Delphi-Hilfe so korrekt. Was mache ich hier falsch?

Neutral General 6. Okt 2015 08:16

AW: Alle MountPoints auslesen
 
Zitat:

Zitat von Captnemo (Beitrag 1317751)
Okay, geht wohl nur wenn ich die Function aus der kernel32 importiere:
Delphi-Quellcode:
    function FindFirstVolume(lpszVolumeName: PChar; cchBufferLength: DWord): THandle; stdcall; external 'kernel32.dll' name 'FindFirstVolumeA';
    function FindNextVolume(hFindVolume: THandle; lpszVolumeName: LPTSTR; cchBufferLength: DWORD): BOOL; stdcall; external 'kernel32.dll' name 'FindNextVolumeA';
    function FindVolumeClose(hFindVolume: THandle): BOOL; stdcall; external 'kernel32.dll' name 'FindVolumeClose';

Das meinte ich ja ;)
Zitat:

Zitat von Captnemo (Beitrag 1317751)
Allerdings meckert mir jetzt Delphi die erste Zeile gleiche an:
Code:
Erwartet: ':', aber ein String-Literal "kernel32.dll" erhalten in Zeile 42
Aber Schreibweise ist laut Delphi-Hilfe so korrekt. Was mache ich hier falsch?

Sieht gut aus. Hab mal meine ganze Unit kopiert. Die compiliert so:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  function FindFirstVolume(lpszVolumeName: PChar; cchBufferLength: DWord): THandle; stdcall; external 'kernel32.dll' name 'FindFirstVolumeA';
  function FindNextVolume(hFindVolume: THandle; lpszVolumeName: LPTSTR; cchBufferLength: DWORD): BOOL; stdcall; external 'kernel32.dll' name 'FindNextVolumeA';
  function FindVolumeClose(hFindVolume: THandle): BOOL; stdcall; external 'kernel32.dll' name 'FindVolumeClose';

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

Sir Rufo 6. Okt 2015 08:40

AW: Alle MountPoints auslesen
 
Beim dem Code fangen meine Augen sofort an zu tränen :shock:

Was fällt uns zu den Schlagworten
Delphi-Quellcode:
PChar
/
Delphi-Quellcode:
PAnsiChar
/
Delphi-Quellcode:
PWideChar
ein?

Neutral General 6. Okt 2015 08:58

AW: Alle MountPoints auslesen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1317753)
Beim dem Code fangen meine Augen sofort an zu tränen :shock:

Was fällt uns zu den Schlagworten
Delphi-Quellcode:
PChar
/
Delphi-Quellcode:
PAnsiChar
/
Delphi-Quellcode:
PWideChar
ein?

Ich hab hier Delphi7 - Also alles in Ordnung :stupid:
Ansonsten muss es so wie es da oben steht entweder FindFirstVolumeW/FindNextVolumeW oder PAnsiChar heißen.

Captnemo 6. Okt 2015 09:16

AW: Alle MountPoints auslesen
 
Jetzt meckert er bei mir auch nicht mehr. Einmal Delphi neu starten und der Fehler war weg!
Naja, lief jetzt seit fast 2 Wochen am Stück durch. Bin immer zu Faul meinen Rechner runter zu fahren.

Sir Rufo 6. Okt 2015 10:01

AW: Alle MountPoints auslesen
 
Zitat:

Zitat von Neutral General (Beitrag 1317754)
Zitat:

Zitat von Sir Rufo (Beitrag 1317753)
Beim dem Code fangen meine Augen sofort an zu tränen :shock:

Was fällt uns zu den Schlagworten
Delphi-Quellcode:
PChar
/
Delphi-Quellcode:
PAnsiChar
/
Delphi-Quellcode:
PWideChar
ein?

Ich hab hier Delphi7 - Also alles in Ordnung :stupid:

Ja genau, und als alle ihren tollen Code dann auf den Unicode-Compiler losgelassen haben heulten sie wie die kleinen Kinder den man den Schnuller geklaut hatte. Wie konnte Borlacodero so etwas nur machen, das hat immer wunderbar funktioniert ... bis zu dieser Umstellung.

Nein, ich habe doch keinen Fehler gemacht! :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz