Autor Beitrag
Apo95
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
BeitragVerfasst: So 03.02.13 22:40 
Tagchen,

ich habe Probleme mit einem Editor, an dem ich schreibe. Das Problem ist, das das Programm zur Laufzeit abbricht und eine Fehlermeldung auswirft:

'Im Projekt LCEDX86.exe ist eine Exception der Klasse EReadError aufgetreten mit der Meldung: Ungültiger Eigenschaftswert...'.

Kann mir jemand sagen, woran das liegt?

Hier ist der Code:

Unit1
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:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
unit Unit1;

interface

uses
  ShellApi, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Neu1: TMenuItem;
    extdokument1: TMenuItem;
    N1: TMenuItem;
    Sichern1: TMenuItem;
    Sichernunter1: TMenuItem;
    N2: TMenuItem;
    Schlieen1: TMenuItem;
    bearbeiten1: TMenuItem;
    WiderrufenEingabe1: TMenuItem;
    WiderholenEingabe1: TMenuItem;
    Einfgen1: TMenuItem;
    Lshcen1: TMenuItem;
    Kopieren1: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    About1: TMenuItem;
    Fehlerberichtsenden1: TMenuItem;
    N6: TMenuItem;
    emailsenden1: TMenuItem;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    FontDialog1: TFontDialog;
    Einlesen1: TMenuItem;
    StatusBar1: TStatusBar;
    DRucken1: TMenuItem;
    EinrichtenDokument1: TMenuItem;
    N7: TMenuItem;
    PrintDialog1: TPrintDialog;
    PrinterSetupDialog1: TPrinterSetupDialog;
    RichEdit1: TRichEdit;
    Programm1: TMenuItem;
    Einstellungen1: TMenuItem;
    procedure Sichern1Click(Sender: TObject);
    procedure Sichernunter1Click(Sender: TObject);
    procedure Schlieen1Click(Sender: TObject);
    procedure extdokument1Click(Sender: TObject);
    procedure Einlesen1Click(Sender: TObject);
    procedure About1Click(Sender: TObject);
    procedure emailsenden1Click(Sender: TObject);
    procedure Fehlerberichtsenden1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure WiderholenEingabe1Click(Sender: TObject);
    procedure WiderrufenEingabe1Click(Sender: TObject);
    procedure Lshcen1Click(Sender: TObject);
    procedure Kopieren1Click(Sender: TObject);
    procedure Einfgen1Click(Sender: TObject);
    procedure DRucken1Click(Sender: TObject);
    procedure EinrichtenDokument1Click(Sender: TObject);
    procedure Einstellungen1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  FSize : Integer;
implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Sichern1Click(Sender: TObject);
begin
        if SaveDialog1.Execute then
        begin
        RichEdit1.lines.SaveToFile(SaveDialog1.FileName);
        end else
        Application.MessageBox('Die Datei konnte nicht erstellt werden.','Sicherungsfehler', mb_ICONSTOP or mb_OK);
end;

procedure TForm1.Sichernunter1Click(Sender: TObject);
begin
                if SaveDialog1.Execute then
        begin
        RichEdit1.lines.SaveToFile(SaveDialog1.FileName);
        end else
        Application.MessageBox('Die Datei konnte nicht erstellt werden.','Sicherungsfehler', mb_ICONSTOP or mb_OK);
end;

procedure TForm1.Schlieen1Click(Sender: TObject);
begin
        if Application.MessageBox('Möchten Sie LUCEd 1. Textverarbeitung wirklich beenden?''Programmende', mb_ICONQUESTION or mb_YESNOCANCEL)=IDYES then
        close;
end;

procedure TForm1.extdokument1Click(Sender: TObject);
begin
    if RichEdit1.modified =true then
    begin
    if    Application.MessageBox('Möchten Sie wirklich ein neues Dokument erzeugen? Mit Klick auf "Ja" werden alle bisherigen Änderungen gelöscht!''Wirklich neues Dokument erstellen?', mb_ICONWARNING or mb_YESNOCANCEL)=IDYES then
        RichEdit1.lines.clear;
end else begin
    RichEdit1.lines.clear;
end;
end;
procedure TForm1.Einlesen1Click(Sender: TObject);
begin
                if OpenDialog1.Execute then
        begin
        RichEdit1.lines.LoadFromFile(OpenDialog1.FileName);
        end else
        Application.MessageBox('Die Datei konnte nicht gelesen werden.','Lesefehler/Ladefehler', mb_ICONSTOP or mb_OK);
end;

procedure TForm1.About1Click(Sender: TObject);
begin
        AboutBox.show;
end;

procedure TForm1.emailsenden1Click(Sender: TObject);
begin
        if Application.MessageBox('LUCEd 1.0 Textverarbeitung versucht nun, ein email-Client auf Ihrem PC zu finden. '
       + 'Falls eines vorhanden ist, wird es mit Klick auf "OK" geöffnent.''Versuche, emnail client zu finden und zu öffnen', mb_ICONINFORMATION or mb_OKCANCEL)=IDOK then
        SHELLEXECUTE (handle,'open','mailto:''','',SW_SHOWNORMAL);
end;

procedure TForm1.Fehlerberichtsenden1Click(Sender: TObject);
begin
        SHELLEXECUTE (handle,'open','mailto:fledermaus-pfeil@web.de?subject=Fehlerbericht LUCEd 1.0 Textverarbeirtung','','',SW_SHOWNORMAL);
end;

procedure TForm1.N3Click(Sender: TObject);
begin
        if FontDialog1.Execute then
        begin
        RichEdit1.Font.Assign(FontDialog1.Font);
end;
end;
procedure TForm1.WiderholenEingabe1Click(Sender: TObject);
begin
        RichEdit1.Perform(EM_UNDO, 00);

end;

procedure TForm1.WiderrufenEingabe1Click(Sender: TObject);
begin
        RichEdit1.Perform(WM_UNDO, 00);
end;

procedure TForm1.Lshcen1Click(Sender: TObject);
begin
        RichEdit1.lines.CleanupInstance;
        RichEdit1.lines.Clear;
end;

procedure TForm1.Kopieren1Click(Sender: TObject);
begin
        RichEdit1.CopyToClipboard;
end;

procedure TForm1.Einfgen1Click(Sender: TObject);
begin
        RichEdit1.pasteFromClipboard;
end;

procedure TForm1.DRucken1Click(Sender: TObject);
begin
        if PrintDialog1.execute then
        begin
        RichEdit1.print('');
end;

end;
procedure TForm1.EinrichtenDokument1Click(Sender: TObject);
begin
        if PrinterSetupDialog1.execute then
        begin
        RichEdit1.lines.IndexOf('');
end;

end;
procedure TForm1.Einstellungen1Click(Sender: TObject);
begin
//        Form3.show;
end;

end.


Unit2:

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:
unit Unit2;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls;
  (*
const
  RgnPoints : array[1..10] of TPoint =
((X:203;Y:22), (X:157;Y:168), (X:3;Y:168),
(X:128;Y:257), (X:81;Y:402), (X:203;Y:334),
(X:325;Y:422), (X:278;Y:257), (X:402;Y:168),
(X:249;Y:168));
*)

type
  TAboutBox = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Image1: TImage;
    BitBtn1: TBitBtn;
    Label4: TLabel;
    procedure BitBtn1Click(Sender: TObject);
 //   procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  AboutBox: TAboutBox;
  
implementation

{$R *.dfm}

procedure TAboutBox.BitBtn1Click(Sender: TObject);
begin
        AboutBox.Close;
end;
(*
procedure TAboutBox.FormCreate(Sender: TObject);
begin
var
    Rgn : HRGN;
  Rgn := CreatePolygonRgn(RgnPoints, High(RgnPoints), ALTERNATE);
  SetWindowRgn(Handle, Rgn, True);

end;
*)

end.


Unit3

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:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, //AppEvnts, NotifyIconData,
  ColorButton, iniFiles, AppEvnts;
const
  IC_CLICK = WM_APP + 201;
type
  TForm3 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel1: TPanel;
    Label1: TLabel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    TabSheet2: TTabSheet;
    CheckBox3: TCheckBox;
    SpeedButton1: TSpeedButton;
    Panel2: TPanel;
    Panel3: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    Edit2: TEdit;
    ColorButton1: TColorButton;
  //  procedure ApplicationEvents1Minimize(Sender: TObject);
    procedure ColorButton1Click(Sender: TObject);
  private
    { Private-Deklarationen }
//          procedure Systray(var sMsg: TMessage); message IC_CLICK;
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;
//   NIM : TNotifyIconData;
   ini: TIniFile;
   implementation

uses Unit1;

{$R *.dfm}

(*
procedure TForm1.Systray(var sMsg: TMessage);
begin
  // Vorgang: Klick auf das Icon neben der Uhr und Anzeige der Anwendung
  inherited;
  if (sMsg.LParam = WM_LBUTTONDOWN) then begin
    Show;
    Shell_NotifyIcon(NIM_DELETE, @NIM);
    Application.Restore; //zeigt die Anwendung wieder an
  end;
end;


procedure TForm3.ApplicationEvents1Minimize(Sender: TObject);
begin
         //Vorgang: Minimieren der Anwendung, Entfernung des Taskleisteneintrags
  //und Hinzufügen des Programmicons neben der Uhr
  Form1.FormStyle:=fsStayOnTop;
  Hide;
  with NIM do begin
    cbSize := SizeOf (nIM);
    Wnd := Handle;
    uID := 0;
    uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
    uCallbackMessage := IC_CLICK;
    hIcon := Application.Icon.Handle;
    szTip := 'LUCEd 1 Textverabeitung';
  end;
  Shell_NotifyIcon(NIM_ADD, @NIM);
*)

//end;

procedure TForm3.ColorButton1Click(Sender: TObject);
begin
        ini :=TIniFile.create('C:\USRREG.lcn');
        try
        ini.writeString('NameSpace','First_LastName',Edit1.text);
        ini.writeString('RegistrationKey','',Edit2.text);
        finally
        ini.free;
        end;
end;

end.



Danke im Voraus!!!

_________________
Lette-Verein MIA
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8549
Erhaltene Danke: 478

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 04.02.13 10:48 
Hast du zwischendurch mit einer anderen/neueren Delphi-Version kompiliert und bist dann zur alten gewechselt?

Ein ähnliches Problem habe ich aktuell auch bei einer Nebenform - da liegts am IDhttp-Server, der unter XE2 ein paar weitere oder andere Eigenschaften hat. Meine Lösung war, die entsprechende Form auch mit der alten IDE zu öffnen und da die Fehler beim Laden "zu ignorieren".

_________________
We are, we were and will not be.

Für diesen Beitrag haben gedankt: Apo95
Apo95 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
BeitragVerfasst: Do 07.02.13 22:27 
Ne, habe ich nicht... Das ist alles in Delphi 6 geschrieben...

_________________
Lette-Verein MIA
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Fr 08.02.13 09:32 
Dann steht möglicherweise Müll in Deiner *.dfm. Wenn Du z.B. eine Integer-Property hast wie Left, dann kann es nicht sein, dass dieser aus der *.dfm 3.5 zugewiesen werden soll, das wäre dann ein ungültiger Eigenschaftswert.

Für diesen Beitrag haben gedankt: Apo95