Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism .Net anwendung läuft nicht auf 2tem PC (https://www.delphipraxis.net/95562-net-anwendung-laeuft-nicht-auf-2tem-pc.html)

RStorm 9. Jul 2007 14:23


.Net anwendung läuft nicht auf 2tem PC
 
Hallo Leute,

Ich habe da mal wieder ein problem und hoffe Ihr könnte mir diesmal wieder helfen. Ich habe das erstemal ein Programm mit Delphi .Net geschrieben, habe jetzt aber das problem das die Exe auf meinem Pc läuft aber auf nem anderem Pc nicht. Ich bekomme folgende Fehlermeldung:

Die Anwendung hat einen Ausnahmefehler verursacht, der nicht verarbeitet werden konnte.
Prozess-ID=0x7f0(2032), Thread-ID=0xd90(3472)


dann 2 Buttons OK und Abbrechen. Beim Button Abbrechen kommt die Meldung das JIT Debugger ist nicht verfügbar.
und die

meldung cordbg.exe !a 0x7f0

Auf dem Ziel-PC ist Framework 1.1 installiert mit dem Framework-Servicepack 1.

Komisch ist das auf dem Pc schon ein .Net anwendung läuft ohne Probleme. Kann es sein das ich beim compilieren noch was mit hinzufügen muss?

Arbeite mit Delphi Studio 2006.

Hoffe jemand kann mir helfen ich bedanke mich schon jetzt für die Hilfe.

Gruss Rudolf

Elvis 9. Jul 2007 14:32

Re: .Net anwendung läuft nicht auf 2tem PC
 
Dein Problem wird sein, dass es knallt bevor das Exception-system online ist.
Will heißen du kriegst keinen schnieken Stacktrace.

Wenn du tatsächlich deine App in Delphi.Net geschrieben hast, dann musst du entweder die Borland.Delphi.dll in deine Echse linken (geht IMO mit einem Rechtsklick auf die Referenz im ProjectMan) oder sie mitliefern.
Ohne sie wird es sofort knallen wenn eines der Delphi-spezifischen Dingsens angefasst wird, und deine Echse wird praktisch vollgestopft sein mit Dingen, die die Borland.Delphi.dll brauchen...

RStorm 9. Jul 2007 14:47

Re: .Net anwendung läuft nicht auf 2tem PC
 
Hallo Evis,

danke für deine Antwort habe es mal versucht aber es hat nix gebracht, die Fehlermeldung kommt immer noch. Hast du vielcht noch einen Tip oder idee was es sein könnte.

Gruss Rudolf

Jürgen Thomas 9. Jul 2007 14:58

Re: .Net anwendung läuft nicht auf 2tem PC
 
Hallo,

aktiviere einmal FusionLogView, nämlich (MS_NET_SDK)\v1.1\Bin\FUSLOGVW.exe: Das protokolliert im Detail sämtliche Versuche, Assemblies beim Programmstart einzubinden, und könnte die entscheidenden Hinweise geben, welche Assemblies fehlen oder (!) in einer falschen Version zur Verfügung stehen.

Jürgen

RStorm 9. Jul 2007 15:09

Re: .Net anwendung läuft nicht auf 2tem PC
 
Hallo Jürgen,

ok habe das jetzt mal versucht und bekomma folgende meldung

Lager.exe Borland.Delphi, Version=10.0.4143.0, Culture=neutral, PublicKeyToken=91d62abb5b0d1b1b

Aber was ich jetzt darunter verstehen muss weiss ich leider nicht.

Danke

Gruss Rudolf

mkinzler 9. Jul 2007 15:10

Re: .Net anwendung läuft nicht auf 2tem PC
 
Verwendest du die VCL.Net? Hast du sie auf dem Zielrechner installiert?

RStorm 9. Jul 2007 15:26

Re: .Net anwendung läuft nicht auf 2tem PC
 
Hallo,

hmm wenn du meinst ob ich die Borland.VCL als references reingepackt habe dann ja. falls ich noch etwas nachträglich auf dem Ziel-rechner installieren muss dann habe ich da nix gemacht. Eigentlich läuft auf dem Ziel-Rechner schon eine .Net Anwendung. Falls ich noch was benötige dann bitte sagt es mir und wo ich eventuell bekomme.

Danke

Gruss Rudolf

Elvis 9. Jul 2007 16:15

Re: .Net anwendung läuft nicht auf 2tem PC
 
Zitat:

Zitat von Jürgen Thomas
aktiviere einmal FusionLogView, nämlich (MS_NET_SDK)\v1.1\Bin\FUSLOGVW.exe: Das protokolliert im Detail sämtliche Versuche, Assemblies beim Programmstart einzubinden...

Dafür müsste man aber das SDK installieren.
Ginge auch so: (kein Delphi code)
Delphi-Quellcode:
type
  ClrAssembly = System.Reflection.Assembly;
 
  ConsoleApp = class
  public
    class method Main;
    class method ResolveEventHandler(sender : Object; args : ResolveEventArgs) : ClrAssembly;
  end;
implementation

class method ConsoleApp.ResolveEventHandler(sender : Object; args : ResolveEventArgs) : ClrAssembly;
begin
  Console.WriteLine('Menno! Ick kann "{0}" eenfach nich'' finden...', args.Name);
end;

class method ConsoleApp.Main;
begin
  AppDomain.CurrentDomain.AssemblyResolve += ResolveEventHandler;
  // der normale Code im Entry point
end;
Ansonsten die Assembly einfach mal mit'm Bei Google suchenReflector aufmachen und die Referenzen anschauen.
Ist ja keine große Wissenschaft. ;-)


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