![]() |
Load-/Eject-Media
hi zusammen :)
hm hab eine kleine frage! vorweg: ich weiss leider nicht ganz genau welche delphi version ich nutze (nummer). hab mir hier aus dem forum ( ![]() nun zu meinem problem! ich habe versucht mir ein einfaches programm zu schreiben mit 2 buttons. jeder button soll eins meiner DVD laufwerke öffnen (wenn geschlossen) und auch schließen (wenn offen). nun hab ich dafür ein tutorial gesucht und hab hier auch eins gefunden ( ![]() da ich noch ganz am anfang mit delphi stehe weiss ich nicht weiter =( hab schon jemanden aus dem forum um hilfe gebeten der mir angeboten hat wenn ich ne frage hab sie ihm zu schreiben aber er ist auch ratlos... ich hoffe ihr könnt mir bei meinem problemchen helfen! liebe grüße Tonki |
Re: Load-/Eject-Media
Zeig mal deinen Code.
|
Re: Load-/Eject-Media
Na zum einen solltest Du uns schonmal zeigen, was Du da an Code gebaut hast, zum anderen ist *IMMER* die konkrete Fehlermeldung (am besten komplett per Kopieren und Einfügen in den Post packen) wichtig, um gezielt antworten zu können.
Edit: mkinzler war schneller ;) |
Re: Load-/Eject-Media
Delphi-Quellcode:
hab noch keine namen etc vergeben weil ich wegen dem problemchen nich weiter komm also nich wundern das alles noch standartwerte hat ;)
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin Loadmedia ('D') end; end. und es kommt die fehlermeldung: "Nicht deklarierter Bezeichner 'LoadMedia' in Zeile 28 (28:1)." damit kann ich leider nichts anfangen :( |
Re: Load-/Eject-Media
Du hast ja nur den Aufruf eingebaut. Die Implemnetierung der Funktion fehlt natürlich noch, baue diese auch noch ein.
|
Re: Load-/Eject-Media
Zitat:
|
Re: Load-/Eject-Media
Zitat:
Zitat:
|
Re: Load-/Eject-Media
Du rufst die Funktion auf. Die Implemnetierung der Funktion befindet sich im 1. Quelltext im verlinkten Beitrag deines ersten Beitrages.
|
Re: Load-/Eject-Media
aaaah ok :)
aber jetzt hat sich ein neues problem aufgetahn *seufz* das programm startet jetzt, es gibt auch keine fehlermeldungen mehr aber wenn ich auf den button klicke passiert nichts... normalerweise müsste mein DVD Laufwerk aufgehn... hab extra geschaut das laufwerk heisst D und so stehts auch im code... jemand ne idee? hier der Code:
Delphi-Quellcode:
unit Laufwerke;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} const IOCTL_STORAGE_EJECT_MEDIA = $2D4808; IOCTL_STORAGE_LOAD_MEDIA = $2D480C; //Fährt die Schublade ein function LoadMedia(DriveLetter: String): Boolean; var hr:THandle; buffer: Cardinal; begin hr := CreateFile(PChar('\\.\'+DriveLetter+':'), GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE, NIL, OPEN_EXISTING, 0, 0); if hr <> INVALID_HANDLE_VALUE then if DeviceIOControl(hr, IOCTL_STORAGE_LOAD_MEDIA, NIL, 0, NIL, 0, buffer, NIL) then result := true else result := false; CloseHandle(hr); end; procedure TForm2.Button1Click(Sender: TObject); begin Loadmedia ('D') end; end. |
Re: Load-/Eject-Media
Delphi-Quellcode:
In deinem Quelltext steht es doch schon, dass Laufwerk wird geschlossen wenn es bereits geöffnet ist. Das Öffnen bzw Ausfahren des Laufwerkes macht dieser Code nicht. ;)
//Fährt die Schublade ein
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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