Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehlermeldung "...ist keine zulässige Win32-Anwendung." (https://www.delphipraxis.net/118366-fehlermeldung-ist-keine-zulaessige-win32-anwendung.html)

TonyMontana 6. Aug 2008 16:02


Fehlermeldung "...ist keine zulässige Win32-Anwendung.&
 
Hallo,

ich habe folgenden Quelltext benutzt um Dateien (bei mir Video-Dateien) über das System-Kontexmenü (Das Menü, das bei einem rechtsklick auf eine Datei im Explorer erscheint) direkt mit meinem Programm starten zu können:

Delphi-Quellcode:
procedure TForm1.AddFileMenue(FilePrefix, Menue, Command: string);
var
  reg: TRegistry;
  typ: string;
begin
  reg := TRegistry.Create;
  with reg do
  begin
    RootKey := HKEY_CLASSES_ROOT;
    OpenKey('.' + FilePrefix, True);
    typ := ReadString('');
    if typ = '' then
    begin
      typ := Fileprefix + 'file';
      WriteString('', typ);
    end;
    CloseKey;
    OpenKey(typ + '\shell\' + Menue + '\command', True);
    WriteString('', command + ' "%1"');
    CloseKey;
    Free;
  end;
end;
Der Eintrag im Kontextmenü erscheint auch, jedoch ist es seit kurzem so, dass eine Fehlermeldung erscheint und nicht das Programm geöffnet wird wenn man auf den Eintrag im Kontextmenü klickt.

Die Fehlermeldung lautet:
Titel: "Vollständiger Pfad zur Datei"
Text: "Vollständiger Pfad zur Datei" ist keine zulässige Win32-Anwendung.

Vielleicht kennt sich ja jemand mit Dateiregistrierungen aus und kann mir sagen durch was dieser Fehler verursacht wird. Erneutes registrieren mit oben stehenden Quelltext bringt auch nichts. Der Fehler bleibt nach wie vor.

mkinzler 6. Aug 2008 16:04

Re: Fehlermeldung "...ist keine zulässige Win32-Anwendu
 
Was wird den in die Registry geschrieben?

Flocke 6. Aug 2008 16:43

Re: Fehlermeldung "...ist keine zulässige Win32-Anwendu
 
Hast du vielleicht Leerzeichen im Pfad? Dann solltest du
Delphi-Quellcode:
WriteString('', AnsiQuotedStr(command, '"') + ' "%1"');
benutzen.

TonyMontana 6. Aug 2008 17:00

Re: Fehlermeldung "...ist keine zulässige Win32-Anwendu
 
Ich habe es noch mal überprüft, die Einträge in die Registry müssten stimmen. Ich habe ja nichts geändert und bis vor ein paar Tagen ging auch alles. Das Programm liegt noch in genau dem gleichen Ordner. Da sollte es also kein Problem geben. Mit den Leerzeichen dürfte es aus dem gleichen Grund auch keine Probleme geben, die wären ja sonst vorher auch vorhanden gewesen. Aber ich kann es ja noch mal damit versuchen, denn ich weiß absolut nicht wo der Fehler liegen kann...
Das einzige was ich meiner Meinung nach verändert habe ist, dass ich ein paar Programme installiert habe, vielleicht gibt es da jetzt Probleme? Das Programm ist Magix Video Studio Deluxe.

Der Schlüssel "HKEY_CLASSES_ROOT\CoreMedia.AVI\shell\Play with Media Player\command" steht mit folgendem Wert in der Registry:
C:\Dokumente und Einstellungen\TM\Eigene Dateien\Delphi\Media Player\Project1.exe "%1"

EDIT: :thumb: Danke euch beiden! Flocke hat sofort die richtige Idee gehabt! Es lag anscheinend doch an den Leerzeichen. Ich habe den Quelltext angepasst und es funktioniert endlich wieder!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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