Hallo,
ich versteh es einfach nicht!
Mein Problem:
Der 1 Zelle der 1 Zeile meines Stringgrids weise ich ein Objekt als Integer zu und fülle diese Zelle dann:
Delphi-Quelltext
1: 2:
| Stringgrid1.Objects[0,1]:= Pointer(4); Stringgrid1.Cells[0,1]:= 'Test'; |
Das Gleiche mach ich dann mit der 1 Zelle der 2 Zeile:
Delphi-Quelltext
1: 2:
| Stringgrid1.Objects[0,2]:= Pointer(8); Stringgrid1.Cells[0,2]:= 'Test2'; |
Funktioniert wunderbar!
Aber wenn ich nun die 1 Zeile löschen, dem Objekt der 1 Zelle dann den Wert nil zuweise, dann rückt der Inhalt aus der 2 Zeile zwar auf, aber das Objekt deren nicht. Warum?
Also löschen tu ich so:
Delphi-Quelltext
1: 2:
| Stringgrid1.Objects[0,1].Free; DeleteRow(Stringgrid1,1) |
Wenn ich nun das Objekt der 1 Zelle der 1 Zeile abfrage bekomme ich den Wert 0 Zurück?! (Also wirklich "0")
Wenn ich das bei der 1 Zelle der 2 Zeile mache bekomme ich immer noch den Wert 8 zurück.
Delphi-Quelltext
1:
| showmessage(inttostr(Integer(Stringgrid1.Objects[0, 1]))); |
und
Delphi-Quelltext
1:
| showmessage(inttostr(Integer(Stringgrid1.Objects[0, 1]))); |
Kann mir jemand helfen?
Grüße,
Benny
Moderiert von
Narses: Topic aus Dateizugriff verschoben am So 30.01.2011 um 22:51