Entwickler-Ecke

Andere .NET-Sprachen - EXE auf anderen Rechnern starten


speedyx2 - Fr 19.08.05 09:07
Titel: EXE auf anderen Rechnern starten
Hallo,

ich hoffe ihr könnt mir bei einem Problem helfen. Vorweg, ich bin ein absoluter Delphi Änfanger. Habe ein VCL .Net Form, in der ich über eine Tado Connection auf eine Access Datenbank zugreife, erstellt. Das funktioniert auch einwandfrei. Ich kann die Datensätze in eine DataGrid anzeigen lassen und die Datensätze ändern.

Wenn ich jetzt diese EXE auf einem anderen Rechner starte kommt folgende Fehlermeldung: Application has generated an exeption that could not be handled. Process id=0x8a4 (2212), Thread id=0xf84 (3972).

Klickt man nun auf abbrechen kommt eine weitere Meldung: Registered Jit debugger is not available. An attempt to launch a Jit debugger with the following command resulted in an error code of 0x2 (2). Please check computer settings. cordbg.exe !a 0x8a4

Auf dem anderen Rechner habe ich das MS Framwork 1.1 installiert, damit sollte es doch eigentlich gehen. Oder muss ich noch irgendwelche anderen Dateien (dll's) mitgeben???

Wär echt super wenn ihr mir weiterhelfen könntet.

Schon mal vielen Dank für eure Mühe.

Gruß

Speedy


AXMD - Fr 19.08.05 09:21
Titel: Re: EXE auf anderen Rechnern starten
user profile iconspeedyx2 hat folgendes geschrieben:
Auf dem anderen Rechner habe ich das MS Framwork 1.1 installiert


Auch mit den aktuellsten Servicepacks/Updates?

AXMD


Christian S. - Fr 19.08.05 09:57

Hallo!

Wenn Du die Assemblies, welche für die VCL .NET verwendet werden, nicht mit in die Anwendung einbaust (Referenz anklicken -> "Units verknüpfen" im Objektinspektor auf true), musst Du auch diese mit Deiner Anwendung mitgeben. Die Assemblies, welche davon betroffen sind, fangen mit "Borland." an.

Grüße
Christian


Marauder - Fr 19.08.05 10:57

Moment... gehen wir mal etwas mehr in's Detail...

Im Normalfall klappt alles bestens, wenn du einfach ein Laufwerk vom Fremdrechner
in form von \\bla\blabla\ausführen.exe
ansprichst.

Erst wenn du hingehst und dieses Laufwerk sharest, als ein Netzlaufwerk anlegst, knallts.
Das liegt an den Sicherheitsrichtlinien. Du musst deine Software "lizenzieren".

Und wenn Du jetzt auch noch wissen willst wie ? ... ich hab noch keine Ahnung.
Ich habe nämlich exakt das gleiche Problem!! :D

Ich arbeite vorübergehend mit einem Starter, der alles auf den lokalen Rechner kopiert.


speedyx2 - Fr 19.08.05 11:54

@axmd

welche Servicepacks/Updates meinst du jetzt. Ich meine ich will das Programm auf Win 2000 und xp nutzen können egal was für SPs drauf sind. Dafür ist das Framework doch da, oder hab ich das falsch verstanden?

@christian s.
Also ich bin jetzt mal auf Projekt > Referenz hinzufügen und hab alle Borland Referenzen hinzugefügt. Danach bin ich auf Projekt erzeugen. Die Dateien die er angelegt hat habe ich auf den anderen Rechner kopiert und die Exe aufgerufen. Die Fehlermeldung kommt immer noch. Oder hab ich da etwas falsch verstanden?

@marauder
Sorry das versteh ich jetzt gar nicht. Ich hab meine EXE lokal auf einen anderen Rechner abgelegt und will sie lokal ausführen. ALso nix mit Netzlaufwerk bla bla bla.

Aber vielen Dank schonmal für eure schnellen antworten. Ihr seid echt super. Hoffe das ihr noch einige Tips für mich habt.

Gruß

Speedy


Marauder - Fr 19.08.05 12:02

Kannst du mal nen Sourcecode posten?


speedyx2 - Fr 19.08.05 12:05


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Borland.Vcl.ExtCtrls, Borland.Vcl.DBCtrls, Borland.Vcl.StdCtrls,
  Borland.Vcl.Mask, Borland.Vcl.Db, Borland.Vcl.ADODB, System.ComponentModel,
  Borland.Vcl.Grids, Borland.Vcl.DBGrids;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    DBNavigator1: TDBNavigator;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    ADOConnection2: TADOConnection;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.nfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
adoTable1.Filter := 'Name = ' + QuotedStr(edit1.text);
adoTable1.Filter := 'Vorname = ' + QuotedStr(edit2.text);
adoTable1.Filtered := True;
end;

end.


Moderiert von user profile iconMotzi: Delphi-Tags hinzugefügt.


Marauder - So 21.08.05 01:31

hm.. keine Ahnung, ich bin eher auf der reinen .NET Schiene... also FCL :?


Christian S. - So 21.08.05 01:36

Alle Referenzen, die mir "borland." anfangen, solltest Du nicht hinzufügen. ;-) Wenn Du eine Komponente auf die Form packst, macht Delphi das schon selber. Du solltest einfach nur schauen, welche Referenzen bereits in Deinem Projekt vorhanden sind und diese Dateien mit Deiner EXE ausliefern.