Autor Beitrag
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 06.02.07 20:26 
Hallo,

ich habe ein Programm geschrieben und wollte es einem Freund, der kein Delphi besitzt, geben (d.h. er hatte mal Delphi 3 auf'm Rechner). Sowohl er als auch ich besitzen Win XP - er ohne SP - ich: SP2. Ich habe die Referenzen lokal kopiert und ihm mitgegeben. Trotzdem kommt auf seinem Rechner ein Fehler (s. Anhang).
Kann mir jemand sagen, woran das liegt?

Danke im voraus!!!
Einloggen, um Attachments anzusehen!
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Di 06.02.07 21:52 
Das liegt an Z. 123 in Unit1.pas. Falls es die Unit nicht gibt, oder weniger Zeilen hat, ist dein Delphi kaputt und muss neu installiert werden. (Am besten installierst du Windows auch gleich neu, es kann nämlich sein, dass der Fehler bleibt.) :?

Spaß beiseite: Das kann an vielem liegen, meistens fehlende Zusatzprogramme, oder durch Antivirenprogs geblockte Funktionen, ...
Sag einfach mal, was das Programm genau macht, welche Units es benutzt, ... :wink:

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 06.02.07 21:56 
Das Programm verschleiert Texte. Anschließend koennen die Texte in die Zwischenablage kopiert werden. Das Programm ist klein und besitzt 2 Units.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 06.02.07 22:06 
Moin!

Ich fürchte, du wirst nicht drum rum kommen, uns den Quelltext der Anwendung zu zeigen - so kommen wir nicht weiter... :|

Wenn es denn unbedingt sein muss, kannst du ja den Teil zum ver-/entschlüsseln unkenntlich machen; daran wird´s ja vermutlich nicht liegen (wobei Verschlüsslungsverfahren, die den Code als Geheimnis haben, meist eh nicht schwer zu knacken sind...). ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.02.07 20:50 
Also hier sind die 2 Units, es handelt sich eher um eine Verschleierung, wie schon gesagt.
ausblenden volle Höhe 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:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
unit verschluesselung_Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Borland.Vcl.StdCtrls, System.ComponentModel, Clipbrd,
  Borland.Vcl.ActnList, Borland.Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Memo2: TMemo;
    Memo1: TMemo;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    Edit2: TEdit;
    Memo3: TMemo;
    Memo4: TMemo;
    Button3: TButton;
    Button4: TButton;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Timer1: TTimer;
    Label5: TLabel;
    Label6: TLabel;
    procedure Timer1Timer(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  key, text, keytext: String;
  ti, ki, alpha: integer;
  key1, text1, keytext1: String;
  ti1, ki1, alpha1: integer;
  b: boolean=false;

implementation

uses verschluesselung_Unit2;

{$R *.nfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
  if edit1.text <> '####'
     then
        begin;
        showmessage('Bitte geben Sie das korrekte Schlüsselwort an!');
        exit;
        end;
  alpha:=#;
  if Combobox1.ItemIndex=0
     then
        alpha:=#;
  if Combobox1.ItemIndex=1
     then
        alpha:=#;
  if Combobox1.ItemIndex=2
     then
        alpha:=#;
  if (edit1.Text=''or (Memo1.text='')
     then
        begin;
        showmessage('Bitte Füllen Sie beide Felder aus!');
        exit;
        end;
  if alpha=#
     then
        begin
        showmessage('Bitte geben Sie die Codierung an!');
        exit;
        end;
  key:=edit1.Text;
  text:=memo1.Text;
  keytext:=text;
  ki:=1;
  for ti:=1 to length(text) do
     begin
     keytext[ti]:=char(ord(key[ki])+ord(text[ti])+ord(alpha));
     if keytext[ti]=''
        then
        keytext[ti]:='0';
     inc(ki);
     if ki>length(key)
        then
           ki:=1;
     end;
  memo2.Text:=keytext;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if edit2.text <> '####'
     then
        begin;
        showmessage('Bitte geben Sie das korrekte Schlüsselwort an!');
        exit;
        end;
  alpha1:=#;
  if Combobox2.ItemIndex=0
     then
        alpha1:=#;
  if Combobox2.ItemIndex=1
     then
        alpha1:=#;
  if Combobox2.ItemIndex=2
     then
        alpha1:=#;
  if (edit2.Text=''or (Memo3.text='')
     then
        begin;
        showmessage('Bitte Füllen Sie beide Felder aus!');
        exit;
        end;
  if alpha1=#
     then
        begin
        showmessage('Bitte geben Sie die Codierung an!');
        exit;
        end;
  key1:=edit2.Text;
  text1:=memo3.Text;
  keytext1:=text1;
  ki1:=1;
  for ti1:=1 to length(text1) do
     begin
     keytext1[ti1]:=char(ord(text1[ti1])-ord(key1[ki1])-ord(alpha1));
     inc(ki1);
     if ki1>length(key1)
        then
           ki1:=1;
     end;
  memo4.Text:=keytext1;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Clipboard.AsText:=keytext;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Clipboard.AsText:=keytext1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if b=false
     then
        begin
        form2.Show;
        end;
end;

end.


ausblenden volle Höhe 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:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
unit verschluesselung_Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Borland.Vcl.StdCtrls, System.ComponentModel;

type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;
  c: boolean=false;

implementation

uses verschluesselung_Unit1;

{$R *.nfm}

procedure TForm2.Button2Click(Sender: TObject);
begin
  b:=true;
  form1.close;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  if edit1.text='####'
     then
        begin
        b:=true;
        c:=true;
        form2.close;
        end
     else
        begin
        b:=true;
        edit1.Text:='';
        showmessage('Bitte geben Sie das korrekte Kennwort ein!');
        b:=false;
        exit;
        end;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  b:=true;
  if c=false
     then
        form1.close;
end;

procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (key in[char(VK_RETURN)])
     then
        button1.click;
end;

end.
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.02.07 22:29 
Kann mir jetzt jemand helfen??? Kann es sein, dass es daran liegt, dass er einen Dell-Rechner hat???


Zuletzt bearbeitet von ma$ter am Fr 09.02.07 15:11, insgesamt 1-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 09.02.07 00:41 
Moin!

:? Schiebepostings sind hier erst nach 24 Stunden erlaubt! :mahn:

Ansonsten: sag mal, hast du ein .NET-Projekt erstellt und dein Freund hat das Framework nicht installiert?! :gruebel:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Fr 09.02.07 07:45 
Hi
Wenn du Delphi hast, ist meist Install Shield Express dabei. Damit kannst du deine Programme "installierbar" machen. Also, nicht nur die Exe als Kopie, sondern alle benötigten Elemente werden eingebunden. Du bekommst ein gepacktes Programm mit einer Installationsroutine. Ist ein wenig gewöhnungsbedürftig, aber bisher sind alle meine Programme damit auf anderen Rechnern gelaufen. Ach ja, ein möglicher Fehler ist, wenn das Betriebssystem der Zielmaschine älter ist, wie das auf dem Entwicklungs-PC. Das geht auch nicht immer mit dem Install- dingsbums.
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 11.02.07 15:57 
Ich besitze Delphi 2005 PE, soweit ich gesehen habe, ist leider kein Install Shield Express vorhanden. Wo kann ich mir den eventuell runterladen?
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 11.02.07 16:20 
Du könntest Auch mal dein Komplettes Prog hier anhängen dann könnte man das eventuell mal nach vollziehen.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 11.02.07 18:41 
user profile iconNarses hat folgendes geschrieben:
hast du ein .NET-Projekt erstellt und dein Freund hat das Framework nicht installiert?!

_________________
There are 10 types of people - those who understand binary and those who don´t.
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.02.07 14:15 
Mein Freund hat das Framework nicht installiert, aber genau deswegen hab ich ihm ja die Referenzen mitgegeben. Sobald er wieder aus dem Urlaub da ist, werde ich das gleiche Programm mit Win32 noch einmal ausprobieren!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 12.02.07 14:32 
Moin!

user profile iconma$ter hat folgendes geschrieben:
Mein Freund hat das Framework nicht installiert, aber genau deswegen hab ich ihm ja die Referenzen mitgegeben.

.NET-Projekte laufen nicht ohne FrameWork, egal was zu mitgibst :mahn: (mit Ausnahme des FrameWork-Setup, natürlich :P).

user profile iconma$ter hat folgendes geschrieben:
werde ich das gleiche Programm mit Win32 noch einmal ausprobieren!

Was die Lösung ist. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 13.02.07 14:29 
Meiner Meinung nach falsch, denn ich hab .NET-Programme auch schon auf Rechnern die kein Framework haben ausprobiert, mit den Referenzen!!! Trotzdem Danke!!!