Einzelnen Beitrag anzeigen

sugaFRAG

Registriert seit: 22. Apr 2004
Ort: Mönchengladbach
34 Beiträge
 
#1

Warum kommt immer diese Fehlermeldung ?

  Alt 22. Apr 2004, 19:59
hi Jungs, also ich code ein Proggi, indem in einer comboboxex nur CDROM LWs aufgelistet werden.
Bei einem klick auf dieses Lw soll das CD Icon erscheinen, falls vorhanden.

Habe dies so gelößt:

Delphi-Quellcode:
function GetCDIcon(Drive: string): TIcon;
var
  ico: TIcon;
  ini: TIniFile;
  s, p: string;
  i, j: Integer;
  FileInfo: SHFILEINFO;
begin
  //Abbrechen wenn "AutoRun.Inf" nicht existiert.
  //Abort if "AutoRun.inf" doesn't exists.

  if FileExists(Drive + ':\autorun.inf') = False then Exit;
  //"AutoRun.inf" öffnen
  //Opens the "AutoRun.inf"
  ini := TIniFile.Create(Drive + ':\autorun.inf');
  ico := TIcon.Create;

  try
    //Dateinamen lesen
    //Read the filename
    s := ini.ReadString('Autorun', 'ICON', '');

    //Abbrechen, wenn kein Icon festgelegt wurde
    //Abort if there is no icon specified
    if s = 'then Exit;

    //Icon von Datei laden
    //load the icon from a file
    if FileExists(s) then ico.LoadFromFile(s);
    if FileExists(Drive + ':\' + s) then ico.LoadFromFile(Drive + ':\' + s);

    if (FileExists(s) = False) and (FileExists(Drive + ':\' + s) = False) then
    begin
      for j := (Pos(',', s) + 1) to Length(s) do
      begin
        p := p + s[j];
      end;
      i := StrToInt(p);
      for j := Length(s) downto (Pos(',', s)) do
        Delete(s, j, Length(s));

      if FileExists(s) = False then s := Drive + ':\' + s;

      ico.Handle := ExtractIcon(hinstance, PChar(s), i);
    end;

    Result := ico;
  finally
    ini.Free;

  end;
end;
Nur komischerweise merkt sich irgendwie mein Proggi ohne das ich es ihm befohlen habe etc. welche CDLW laufwerke schon mal in benutzung waren mit meinem Prog.

So kommt beim Abfragen wenn keine CD Im Laufwerk ist die standard Windows Fehlermeldung mit "Keine CD im Datenträger Vorhanden" oder so wo dann Abbrechen Wiederholen Weiter steht.

Aber er soll die Funktion doch abbrechen.
Ich hab mal gedebuggt und es liegt eindeutig an diesem code. schon in der zeile wo nach der autorun gesucht wird bricht er ab. Also es kommt die Meldung und wenn ich auf abbrechen klick läuft es ganz normal weiter.

Wenn ne CD drin ist funzt alles so wie es soll.

So nun meine Frage: Woran liegt das ?

Vielen Dank im Voraus.
  Mit Zitat antworten Zitat