Einzelnen Beitrag anzeigen

Benutzerbild von Picard95
Picard95

Registriert seit: 14. Mai 2011
Ort: Dortmund
32 Beiträge
 
Delphi 4 Standard
 
#1

Datenbank überschreibt inhalte

  Alt 18. Mai 2011, 18:13
Delphi-Version: 5
Hallo zusammen,
Ich bin grad am verzweifeln
Ich habe in meinem Aktuellen Programm eine Datenbank (in seperater Unit) welche instanzen vom Inhalt bei Start des Programmes erzeugt.
Ich habe soeben herrausgefunden (Per showmessage), dass das Programm den ersten Eintrag in der Datenbank überschreibt, und ich so immer die gleiche Augabe erhalte.
Was mich wundert: nachdem ich per doppel/ die Zeile "unsichtbar" gemacht habe welche das eintragen der letzten daten in die Datenbank beinhaltet kam immernoch der gleiche Inhalt.
Ich würde mich sehr über hilfreiche (und für mich verständliche) Hilfe freuen.
Anbei nun die Quellcodes der entsprechenden Stellen.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  Atom:TAtom;
  Hilf:real;
begin
  //hier steht das folgende noch 2 mal nur das es eingetragen wird!
  Atom.set_Atomname('Lithium');
  Atom.set_Atomsymbol('Li');
  Atom.set_Atomserie('Erdalkalimetalle');
  Atom.set_Atomaussehen('XXXX');
  Atom.set_Atomaggregatzustand('Fest');
  Atom.set_Atomgefahren1('XXXX');
  Atom.set_Atomordnungszahl(3);
  Atom.set_Atommasse(7);
  Atom.set_Atomschmelztemperatur(180);
  Atom.set_Atomsiedetemperatur(1372);
  Atom.set_Atomdichte(0.534);
  Atom.set_AtomEN(1.0);
  Atom.set_Atomoxidationszahl1(1);
  //Periodensystem.Hinzufuegen(Atom);
  showmessage('LI');
  end;
Das steh in der Formcreate der Unit1
Delphi-Quellcode:
procedure TForm2.Button26Click(Sender: TObject);
begin
  Abkuerzung:=1;
  Form3.Trage_ein;
  Form3.showmodal;
end;
//...
Das war Unit2
Delphi-Quellcode:
begin
  Atomzahl:=unit2.Abkuerzung;
  Periodensystem.Ausgabe(Listbox1,Listbox2,Listbox3,Listbox4,Listbox5,Atomzahl);
end;
Das war unit3
Delphi-Quellcode:
constructor TPeriodensystem.create;
  begin
    Anzahl:=1;
    inherited create;
  end;

procedure TPeriodensystem.Hinzufuegen(X:TAtom);
  var I:integer;
  begin

    showmessage(inttostr(Anzahl));
    if Anzahl=3
    then
    for I:=1 to 2 do
    showmessage(inhalt[1].get_Atomname);
    Inhalt[Anzahl]:=x;Anzahl:=Anzahl+1;
  end;
Und das die UPeriodensystem.

Ich danke schonmal für die Antworten.
Christian
  Mit Zitat antworten Zitat