Autor |
Beitrag |
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: 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, ... 
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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
|
Verfasst: Mi 07.02.07 20:50
Also hier sind die 2 Units, es handelt sich eher um eine Verschleierung, wie schon gesagt.
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 public 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. |
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 public 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
|
Verfasst: 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 09.02.07 00:41
Moin!
 Schiebepostings sind hier erst nach 24 Stunden erlaubt!
Ansonsten: sag mal, hast du ein .NET-Projekt erstellt und dein Freund hat das Framework nicht installiert?!
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
oldmax
      
Beiträge: 380
D3 Prof, D4 Prof
|
Verfasst: 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
|
Verfasst: 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
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 11.02.07 18:41
Narses 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
|
Verfasst: 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 12.02.07 14:32
Moin!
ma$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  (mit Ausnahme des FrameWork-Setup, natürlich  ).
ma$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
|
Verfasst: 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!!!
|
|