AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Load-/Eject-Media

Ein Thema von Tonki · begonnen am 29. Sep 2006 · letzter Beitrag vom 29. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Tonki

Registriert seit: 18. Sep 2006
10 Beiträge
 
Turbo Delphi für Win32
 
#1

Load-/Eject-Media

  Alt 29. Sep 2006, 12:06
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 (Link) turbo delphi (deutsch) runter geladen! nur falls fragen wegen version aufkommen ^^

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 (Laufwerks Tutorial) aber der code der da steht funktioniert bei mir teilweise nicht... der befehl "Loadmedia" und "Ejectmedia" wird als fehler gekennzeichnet! das obere beispiel von der Tutorial seite wirft sogar nochmehr fehler ein...
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 12:08
Zeig mal deinen Code.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 12:10
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
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Tonki

Registriert seit: 18. Sep 2006
10 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 13:37
Delphi-Quellcode:
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.
hab noch keine namen etc vergeben weil ich wegen dem problemchen nich weiter komm also nich wundern das alles noch standartwerte hat
und es kommt die fehlermeldung:
"Nicht deklarierter Bezeichner 'LoadMedia' in Zeile 28 (28:1)."

damit kann ich leider nichts anfangen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 13:43
Du hast ja nur den Aufruf eingebaut. Die Implemnetierung der Funktion fehlt natürlich noch, baue diese auch noch ein.
Markus Kinzler
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 14:27
Zitat von Tonki:
ich weiss leider nicht ganz genau welche delphi version ich nutze (nummer). hab mir hier aus dem forum (Link) turbo delphi (deutsch) runter geladen! nur falls fragen wegen version aufkommen ^^
Falls die Frage nochmal aufkommt, kannst du sagen, dass du Turbo Delphi 2006 (TD 2006)hast. Eventuell noch für Win32. Dann weiß jeder, was gemeint ist.
  Mit Zitat antworten Zitat
Tonki

Registriert seit: 18. Sep 2006
10 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 15:41
Zitat von mkinzler:
Du hast ja nur den Aufruf eingebaut. Die Implemnetierung der Funktion fehlt natürlich noch, baue diese auch noch ein.
hm tut mir leid aber ich weiss nicht was du damit meinst kannst du mir das bitte genauer erklären?


Zitat von Nicolai1605:
Zitat von Tonki:
ich weiss leider nicht ganz genau welche delphi version ich nutze (nummer). hab mir hier aus dem forum (Link) turbo delphi (deutsch) runter geladen! nur falls fragen wegen version aufkommen ^^
Falls die Frage nochmal aufkommt, kannst du sagen, dass du Turbo Delphi 2006 (TD 2006)hast. Eventuell noch für Win32. Dann weiß jeder, was gemeint ist.
ah ok danke is notiert!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 15:59
Du rufst die Funktion auf. Die Implemnetierung der Funktion befindet sich im 1. Quelltext im verlinkten Beitrag deines ersten Beitrages.
Markus Kinzler
  Mit Zitat antworten Zitat
Tonki

Registriert seit: 18. Sep 2006
10 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 17:22
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.
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#10

Re: Load-/Eject-Media

  Alt 29. Sep 2006, 17:28
//Fährt die Schublade ein 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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz