Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datenbank überschreibt inhalte (https://www.delphipraxis.net/160546-datenbank-ueberschreibt-inhalte.html)

DeddyH 19. Mai 2011 15:03

AW: Datenbank überschreibt inhalte
 
Und wie viele davon? Du musst natürlich je Eintrag in Deine Liste eine Instanz erzeugen.

[edit] Oder wenn Du sowieso immer 112 Instanzen brauchst, kannst Du sie ja gleich von vornherein anlegen.
Delphi-Quellcode:
constructor TPeriodensystem.Create;
var
  i: integer;
begin
  inherited;
  for i := Low(inhalt) to High(inhalt) do
    inhalt[i] := TAtom.Create;
  //usw.
end;

destructor TPeriodensystem.Destroy;
var
  i: integer;
begin
  for i := Low(inhalt) to High(inhalt) do
    inhalt[i].Free;
  //usw.
  inherited;
end;
[/edit]

Picard95 19. Mai 2011 15:06

AW: Datenbank überschreibt inhalte
 
ich habe inn der Formcreate nur eine einzige Instanz die immer wieder überschrieben wird und dann mit neuem Inhalt wieder in die Datenbank eingetragen wird... und meiner Kenntniss nach muss ich den Inhalt der Datenbank nicht kreeren, da der Computer dies Atuomatisch bei der dekleration array macht...
Soll ich mal den Kompletten Quelltext (ausser den unzähligen gleichen stellen in Unit2) hier reinsetzten?

DeddyH 19. Mai 2011 15:11

AW: Datenbank überschreibt inhalte
 
Von welcher Datenbank redest Du eigentlich ständig?

Picard95 19. Mai 2011 15:35

AW: Datenbank überschreibt inhalte
 
ich meine die TPeriodensystem ist ne Datenbank von der Struktur her

DeddyH 19. Mai 2011 15:44

AW: Datenbank überschreibt inhalte
 
Ich verstehe unter Datenbank etwas anderes, aber egal. Hast Du mein Edit in #21 gelesen?

Picard95 19. Mai 2011 15:52

AW: Datenbank überschreibt inhalte
 
jetzt ja
dazu ne Frage: ich denke mal inhalt[I].free giebt mir dann die instanz wieder frei.... und was bedeutet dieses Low bzw high das hatte ich noch nicht im unterricht.
desweiteren: meine Datenbank überschreibt ja meine inhalte wenn ich einen weiteren hinzufüge also 1 wird überschrieben wenn ich 2 eingebe 1 und 2 wenn ich 3 eingebe usw. wie kann ich das verhindern? das hat alles mal in einer anderen version in der schule gekleppt nur jetzt eben nicht und den fehler find ich leider nicht

DeddyH 19. Mai 2011 15:57

AW: Datenbank überschreibt inhalte
 
Nochmal zum Verständnis: eine Objektinstanz ist intern nichts anderes als ein Zeiger. Legst Du also nur eine Instanz an, änderst da etwas und merkst Dir diese Instanz in Deinen Array-Elementen, so zeigen diese alle auf ein und dasselbe Objekt. Wenn Du das nicht willst, musst Du eben so viele Instanzen anlegen, wie Dein Array Felder besitzt. Und genau das habe ich in meinem geposteten Code getan.

Picard95 19. Mai 2011 16:06

AW: Datenbank überschreibt inhalte
 
ich erstelle eine instanz in der unit 1 schreibe daten rein und speichere die in einer andere Instanz in der UPeriodensystem dann ändere ich die instanz in U1 und speichere die in der 2. instanz in UP

DeddyH 19. Mai 2011 16:08

AW: Datenbank überschreibt inhalte
 
Davon habe ich aber bislang nichts gesehen. Wo kommen die anderen Instanzen denn her?

Picard95 19. Mai 2011 16:09

AW: Datenbank überschreibt inhalte
 
inhalt ist ja ein array ein array beschreibt mehrere instanzen der gleichen klasse


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz