Autor Beitrag
DSl1mSh4dy
Hält's aus hier
Beiträge: 15



BeitragVerfasst: So 11.04.10 11:07 
Moin,

habe mal wieder einen Fehler und weiß nicht so genau warum.
Hier mal der Code:

ausblenden 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:
procedure TForm1.FormCreate(Sender: TObject);
var
   Ini: TIniFile;
   Speichern: Boolean;
begin
   ProgrammOrdner := ExtractFilePath(Application.ExeName) + 'Produkte.ini';
   Ini := TIniFile.Create(ProgrammOrdner);
   Ampel.Visible := false;
   Rot.Visible := false;
   Gelb.Visible := false;
   Gruen.Visible := false;
   Memo2.Width := 633//521
   Try
     Speichern := Ini.ReadBool('Optionen''Speichern', false);
   finally
     Ini.Free;
   end;
   if Speichern then begin         // <<<<<<<<< Hier zeigt er den Fehler!!!
      Speichern1.Checked := true;
   end else begin
     Speichern1.Checked := false;
   end;
end;


Kann mir denn jemand sagen, was ich da falsch mache???

Danke schonmal und Gruß


Moderiert von user profile iconNarses: Topic aus Dateizugriff verschoben am So 11.04.2010 um 12:13
DSl1mSh4dy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: So 11.04.10 11:43 
Fehler gefunden - aber noch ist mir unklar was genau ich falsch mache - aus einer funktion raus die ich in Unit1 programmiert habe müsste ich doch die Farbe von Form2 ändern können, oder?

Code dazu:
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:
function changeColor(Farbe: String): Integer;
begin
     if Farbe = 'BrownGreen' then begin
     Form1.Color := clMaroon;
     Form1.Memo1.Color := clLime;
     Form1.Memo2.Color := clLime;
     Form1.Label1.Font.Color := clWhite;
     Form2.Color := clMaroon;
     Form2.Label1.Font.Color := clWhite;
     Form2.Label2.Font.Color := clWhite;
     Form2.Label3.Font.Color := clWhite;
     Form2.Edit1.Color := clLime;
     Form2.Edit2.Color := clLime;
     Form2.Edit3.Color := clLime;
     Form2.Edit4.Color := clLime;
     Form2.Edit5.Color := clLime;
     Form2.Edit6.Color := clLime;
     Form2.Edit7.Color := clLime;
     Form2.Edit8.Color := clLime;
     Form2.Edit9.Color := clLime;
     Form2.Edit10.Color := clLime;
     Form2.Edit11.Color := clLime;
     Form2.Edit12.Color := clLime;
     Form2.Edit13.Color := clLime;
     Form2.Edit14.Color := clLime;
     Form2.Edit15.Color := clLime;
     Form2.Edit16.Color := clLime;
     Form2.Edit17.Color := clLime;
     Form2.Edit18.Color := clLime;
     Form2.Edit19.Color := clLime;
     Form2.Edit20.Color := clLime;
     Form2.Edit21.Color := clLime;
     Form2.Edit22.Color := clLime;
     Form2.Edit23.Color := clLime;
     Form2.Edit24.Color := clLime;
     Form2.Edit25.Color := clLime;
     Form2.Edit26.Color := clLime;
     Form2.Edit27.Color := clLime;
     Form2.Edit28.Color := clLime;
     Form2.Edit29.Color := clLime;
     Form2.Edit30.Color := clLime;
     Form2.Edit31.Color := clLime;
     Form2.Edit32.Color := clLime;
   end;
   if Farbe = 'Pink' then begin
     Form1.Color := $00ff00ff;
     Form1.Memo1.Color := $00ffaaff;
     Form1.Memo2.Color := $00ffaaff;
     Form1.Label1.Font.Color := clWhite;
   end;
   result := 1;
end;



Bei den ganzen Sachen wo "Form2" davor steht kommt der EAccessViolation Fehler - aber das müsste doch funktionieren?

Gruß
der organist
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: So 11.04.10 12:02 
user profile iconDSl1mSh4dy hat folgendes geschrieben Zum zitierten Posting springen:
Fehler gefunden - aber noch ist mir unklar was genau ich falsch mache - aus einer funktion raus die ich in Unit1 programmiert habe müsste ich doch die Farbe von Form2 ändern können, oder?

Code dazu:
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:
function changeColor(Farbe: String): Integer;
begin
     if Farbe = 'BrownGreen' then begin
     Form1.Color := clMaroon;
     Form1.Memo1.Color := clLime;
     Form1.Memo2.Color := clLime;
     Form1.Label1.Font.Color := clWhite;
     Form2.Color := clMaroon;
     Form2.Label1.Font.Color := clWhite;
     Form2.Label2.Font.Color := clWhite;
     Form2.Label3.Font.Color := clWhite;
     Form2.Edit1.Color := clLime;
     Form2.Edit2.Color := clLime;
     Form2.Edit3.Color := clLime;
     Form2.Edit4.Color := clLime;
     Form2.Edit5.Color := clLime;
     Form2.Edit6.Color := clLime;
     Form2.Edit7.Color := clLime;
     Form2.Edit8.Color := clLime;
     Form2.Edit9.Color := clLime;
     Form2.Edit10.Color := clLime;
     Form2.Edit11.Color := clLime;
     Form2.Edit12.Color := clLime;
     Form2.Edit13.Color := clLime;
     Form2.Edit14.Color := clLime;
     Form2.Edit15.Color := clLime;
     Form2.Edit16.Color := clLime;
     Form2.Edit17.Color := clLime;
     Form2.Edit18.Color := clLime;
     Form2.Edit19.Color := clLime;
     Form2.Edit20.Color := clLime;
     Form2.Edit21.Color := clLime;
     Form2.Edit22.Color := clLime;
     Form2.Edit23.Color := clLime;
     Form2.Edit24.Color := clLime;
     Form2.Edit25.Color := clLime;
     Form2.Edit26.Color := clLime;
     Form2.Edit27.Color := clLime;
     Form2.Edit28.Color := clLime;
     Form2.Edit29.Color := clLime;
     Form2.Edit30.Color := clLime;
     Form2.Edit31.Color := clLime;
     Form2.Edit32.Color := clLime;

   end;
   if Farbe = 'Pink' then begin
     Form1.Color := $00ff00ff;
     Form1.Memo1.Color := $00ffaaff;
     Form1.Memo2.Color := $00ffaaff;
     Form1.Label1.Font.Color := clWhite;
   end;
   result := 1;
end;



Bei den ganzen Sachen wo "Form2" davor steht kommt der EAccessViolation Fehler - aber das müsste doch funktionieren?

Gruß


Bei deiner AV kann ich dir nich helfen, aber ich empfehle dir FindComponent, dann wird dein Code besser (=übersichtlicher, kürzer...). ;)
Gruss, Lukas

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 11.04.10 21:39 
Ferner ist Speichern nicht initialisiert in deiner ersten geposteten Routine.

Außerdem: Wo stellst Du sicher, dass Form2 initialisiert ist?

Ferner: Die Initialisierung einer Variable, die von einerm Resourcenschutzblock geschützt werden soll, sollte direkt vor dem Block erfolgen und nicht noch durch weitere Anweisungen abgetrennt sein.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.