Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ungültige Process-ID $00000000 (https://www.delphipraxis.net/114409-ungueltige-process-id-%2400000000.html)

SearchBot 24. Mai 2008 21:41


Ungültige Process-ID $00000000
 
Diese Fehlermeldung erhalte ich direkt nach dem Start meines Programmes. Es wirkt so, als ob es direkt bei der ersten Programmzeile geschieht. Aber der Debugger klemmt dann, läßt sich nicht beenden und ich muss die IDE killen/neustarten.

Mein Programm läuft aber prima, wenn ich das folgende Manifest NICHT eingebunden habe:
Wie man sieht, habe ich das einem anderen Beitrag entwendet und etwas daran gebastelt, aber die Struktur nicht verändert (danke @himitsu für den Trick, das Manifest gleich in die .rc zu packen).

Das ist die .rc-Datei, die ich danach mit brcc32 compiliere und mit {$R machtwas.res} einbinde (ganz sicher habe ich kein anderes Manifest wie XPman oder vistaMan drin!!).
Delphi-Quellcode:
// © 1997-2008 by FNS Enterprize's
// © 2003-2008 by himitsu @ Delphi-PRAXiS

#define RT_MANIFEST 24 
1 RT_MANIFEST
  BEGIN
    "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\r\n",
    "<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">\r\n",
      "<assemblyIdentity\r\n",
        "type = \"win32\"\r\n",
// meine Daten
        "name = \"SearchBot.Tool.DasMachtWas\"\r\n",
        "version = \"3.2.4.4\"\r\n",
        "processorArchitecture = \"x86\"\r\n",
      "<description>SearchBot MachtWas-Tool</description>\r\n",
// für die Optik
      "<dependency optional=\"yes\">\r\n",
        "<dependentAssembly>\r\n",
          "<assemblyIdentity\r\n",
            "type = \"win32\"\r\n",
            "name = \"Microsoft.Windows.Common-Controls\"\r\n",
            "version = \"6.0.0.0\"\r\n",
            "language = \"*\"\r\n",
            "processorArchitecture = \"x86\"\r\n",
            "publicKeyToken = \"6595b64144ccf1df\"\r\n",
        "</dependentAssembly>\r\n",
      "</dependency>\r\n",
    "</assembly>\r\n"
  END
Also, wie gesagt: ich bekomme die "Ungültige Process-ID" NUR, wenn ich das Manifest einfüge.

WAS ist da falsch?! Wie kommt das? *snief*

Dezipaitor 24. Mai 2008 22:26

Re: Ungültige Process-ID $00000000
 
nimm die XPMan Komponente der JVCL. Damit sollte es funktionieren. Dieses Manifest sieht mir etwas komisch aus.

SearchBot 24. Mai 2008 22:55

Re: Ungültige Process-ID $00000000
 
Ja, das sieht wegen den ganzen \" und \r und \n so komisch aus. Sollte aber kein Problem darstellen, weil es in der .res korrekt aussieht.

XPMan kann ich nicht brauchen, weil das nicht für vista geht. und vistaMan... ich hätte schon gerne eigene Angaben in meinem Manifest...

Aber es erklärt den Fehler nicht *seufz*

turboPASCAL 25. Mai 2008 02:50

Re: Ungültige Process-ID $00000000
 
Suche mal im Forum, da gibt es genügen XP/Vista Manifeste.

himitsu 25. Mai 2008 08:26

Re: Ungültige Process-ID $00000000
 
ja mich würde es dann auch interessieren warum e Probleme gibt, da es eigentlich laut MSDN ein ganz normales Standardmanifest sein sollte ... es stimmt auch zu großen Teilen mit (T)XPMan überein und dieses scheint ja nicht rumzumucken.

Jedenfalls hatte ich bis jetzt auch noch keine Probleme damit. :gruebel:


Unter welchem System (Windows) läuft denn deine Anwendung (nicht)?

SearchBot 25. Mai 2008 22:25

Re: Ungültige Process-ID $00000000
 
Zitat:

Zitat von himitsu
Unter welchem System (Windows) läuft denn deine Anwendung (nicht)?

win XP Sp2
Delphi 4 Std.

Edit:
Ich habe da etwas (peinliches) festgestellt:
Ich habe beim Leerzeichen entfernen etwas zuviel radiert und das " />\r\n", ausgeext, also fehlt da das "Klammer-zu" und so ist das Manifest kaputt. Daß mir das dann aber das Programm bzw. Windows soooo übel nimmt, hatte ich nicht ahnen können.

Ok, Problem erledigt.
Danke für Eure Anteilnahme.

:wall: <- so wird man wieder wach...

Bernhard Geyer 26. Mai 2008 06:26

Re: Ungültige Process-ID $00000000
 
Zitat:

Zitat von SearchBot
Ich habe da etwas (peinliches) festgestellt:
Ich habe beim Leerzeichen entfernen etwas zuviel radiert und das " />\r\n", ausgeext, also fehlt da das "Klammer-zu" und so ist das Manifest kaputt. Daß mir das dann aber das Programm bzw. Windows soooo übel nimmt, hatte ich nicht ahnen können.

Beim starten des Prozesses so ziemlich als erstes das Manifest ausgewertet. Und wenn der XML-Parser hier einen fehler Feststellt und eine Exeption schmießt wird der Ladeprozess abgebrochen. AFAIK ist bei XP ohne SP gleich das ganze Windows abgeschmiert wenn das Manifest fehlerhaft war.


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