Autor Beitrag
LH_Freak
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 385

Win XP
D7 PE, D2k5 Trial
BeitragVerfasst: Di 28.12.04 19:12 
Ich habe in ein TTreeView Ordner hinzugefügt, und vorher lade ich noch Bilder in eine ImageList. Aber zeigt mir dann bei allen Punkten die selben Bilder an.
Aber als ich versucht hab, den ImageIndex von jedem Ordner zu erhöhen, bringt er mir eine Fehlermeldung.

Mein Quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
        Avatar_Load.Picture.LoadFromFile(UserArray[int].avatar); // Avatar_load ist ein normales Image
        Avatars.Add(Avatar_load.Picture.Bitmap,Avatar_load.Picture.Bitmap);

        For int2 := 0 to Avatars.Count - 1 do
          UserTree[int].ImageIndex := int2;

        UserAuswahl.Items.Add(Usertree[int],Userarray[int].Nickname);


Bitte helft mir!
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Di 28.12.04 19:28 
LH_Freak hat folgendes geschrieben:
bringt er mir eine Fehlermeldung


Welche Fehlermeldung?

Zudem hast du zwei Arrays (UserTree, UserArray) und "Avatars". Sind die alle gleich groß? Warum zählst du bis Avatars.Count - 1 und schreibst in UserTree?

AXMD
LH_Freak Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 385

Win XP
D7 PE, D2k5 Trial
BeitragVerfasst: Di 28.12.04 19:38 
Zitat:
Was für eine Fehlermeldung?


ausblenden Quelltext
1:
2:
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten.
Meldung: 'Zugriffsverletzung bei Adresse 00432A76 in Modul 'Project1.exe'. Lesen von Adresse 00000024'. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen!


Zitat:

Zudem hast du zwei Arrays (UserTree, UserArray) und "Avatars".


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var
usertree: array [1..5of TTreeNode;
userarray: array [1..5of TUser // TUser ist ein von mir erstellter Record

Avatars: TImageList;
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Di 28.12.04 19:41 
AXMD hat folgendes geschrieben:
Zudem hast du zwei Arrays (UserTree, UserArray) und "Avatars". Sind die alle gleich groß? Warum zählst du bis Avatars.Count - 1 und schreibst in UserTree?


Diese beiden Fragen hast du nicht beantwortet; die wären interessant...

AXMD
LH_Freak Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 385

Win XP
D7 PE, D2k5 Trial
BeitragVerfasst: Di 28.12.04 19:45 
Bei Avatar.Count gibt er mir ja 2 zurück, aber da es ja bei 0 zu zählen anfängt, muss ich ja auch eins abziehen, da nur 2 Bilder in der ImageList sind.

ausblenden Delphi-Quelltext
1:
2:
UserArray: array [1..5] of TUser;
UserTree: array [1..5] of TTreeNode;
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Di 28.12.04 19:52 
:lol: Ich hab den Fehler: du zählst int2 in der Schleife hoch, nimmst aber int für den Index...

AXMD
LH_Freak Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 385

Win XP
D7 PE, D2k5 Trial
BeitragVerfasst: Di 28.12.04 19:59 
Ne, des stimmt schon, den Int zähl ich davor schon hoch.
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Di 28.12.04 20:01 
Nein, das ist Unsinn. Würde dein Code stimmen, würdest du den Imageindex fünfmal hintereinander ändern. Das ergibt keinen Sinn ;)

AXMD
LH_Freak Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 385

Win XP
D7 PE, D2k5 Trial
BeitragVerfasst: Di 28.12.04 20:04 
Hier der komplette quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
if FileExists(Ort + '\' + 'users.dat'then
  begin
    UserINI := TInifile.Create(Ort + '\'+'users.dat');
    UserAnz := UserINI.ReadInteger('Main','AnzahlUser',0);
      For int := 1 to UserAnz do begin
        UserArray[int].Nickname := UserINI.ReadString('User' + IntToSt(int), 'Nickname''Test');
        UserArray[int].pw := UserINI.ReadString('user' + IntToStr(int),'PW','Test');
        userarray[int].avatar := UserINI.ReadString('User' + IntTostr(int),'Avatar','Test');

        Avatar_Load.Picture.LoadFromFile(UserArray[int].avatar);
        Avatars.Add(Avatar_load.Picture.Bitmap,Avatar_load.Picture.Bitmap);

        For int2 := 0 to Avatars.Count - 1 do
          UserTree[int].ImageIndex := int2;

        UserAuswahl.Items.Add(Usertree[int],Userarray[int].Nickname);
        Caption := IntTostr(Usertree[int].ImageIndex) + IntToStr(avatars.Count);
      end;


  end;


Zuletzt bearbeitet von LH_Freak am Di 28.12.04 20:26, insgesamt 1-mal bearbeitet
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Di 28.12.04 20:12 
Aha, jetzt stimmt deine Zeile :gruebel:



LH_Freak hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
For int2 := 0 to Avatars.Count - 1 do
          UserTree[int2].ImageIndex := int2;





LH_Freak hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
For int2 := 0 to Avatars.Count - 1 do
          UserTree[int].ImageIndex := int2;



AXMD
LH_Freak Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 385

Win XP
D7 PE, D2k5 Trial
BeitragVerfasst: Di 28.12.04 20:26 
Nein, ich Hab's vorhin nur ausprobiert, und vergessen zu ändern.
Ging aber trotzdem net!