![]() |
Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Hi,
wie kann ich alle CD-ROM-Laufwerke herausfinden und diese dann in eine ListBox eintragen ohne auf die Funktion GetDriveType zuzugreifen? Folgenden Code hab ich aber den kann ich in der Lazarus IDE (benutzt den Freepascal compiler) nicht verwenden, grund: GetDriveTyp ist dort in keiner Unit verfügbar...
Delphi-Quellcode:
Was kann ich da tun?
procedure TForm1.Button1Click(Sender: TObject);
var I,Typ: Integer; s: String; begin For i := 0 To 25 do begin s := Chr(i + 65) + ':\'; typ := GetDriveType(PChar(s)); If Typ <> 0 Then Case Typ of DRIVE_CDROM : Listbox1.Items.Add(Chr(i + 65) + ': CDROM'); end; end; end; Greetz und thx |
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Moin Andreas,
GetDriveType ist eine API Funktion. Ich kenne jetzt den Freepascal Compiler nicht, aber man müsste doch Funktionen importieren können... :gruebel: |
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Zitat:
Delphi-Quellcode:
so is die funktion in delphi deklariert :roll:
function GetDriveType; external kernel32 name 'GetDriveTypeA';
//Edit: mist, zu spät :mrgreen: |
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Liste der Anhänge anzeigen (Anzahl: 1)
Schaut mal meinen Screenshot im Anhang an. Wo ist da der Fehler?
|
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Zitat:
Delphi-Quellcode:
[Edit3] jetz aba [/Edit3]
interface
function GetDriveType(lpRootPathName: PChar): UINT; stdcall; {$EXTERNALSYM GetDriveType} implementation function GetDriveType; external kernel32 name 'GetDriveTypeA'; |
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Geht trotzdem nicht.
Code:
Undefinied: UINT
|
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Delphi-Quellcode:
oder nimm gleich integer :roll:
type
UINT = LongWord; {$EXTERNALSYM UINT} |
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Jetzt hab ich Integer genommen:
Code:
Undefinied: external
|
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
da bleibt nur noch zu erkennen das free pascal wohl keine externe prozedur-verlinkung unterstützt... was uns in deinem fall wieder an die anfangsfrage zurückführt, wie ermittelt man den DriveType ohne die windows funktion :?:
|
Re: Wie kann ich alle CD-ROM-Laufwerke herausfinden und...
Zitat:
Lass im Beispielcode einfach {$EXTERNALSYM ...} weg: Sollt auch ohne gehen. $EXTERNALSYM ist evtl. nur für den C++-Builder relevant. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr. |
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