Einzelnen Beitrag anzeigen

gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Dispose -> ungültige Zeigeroperation

  Alt 26. Mär 2008, 18:02
Mußt du nicht für jeden Eintrag in die Combobox einen neuen Artikel erstellen?

Delphi-Quellcode:
    // Hier fülle ich die ComboBox, im Augenblick mit 18 Einträgen
    [ ... ]
    // new(Artikel); // --> hier raus
    while not eof do
    begin
      new(Artikel); // <-- hier rein
      If fieldbyname('PLUNR').asstring = 'then
        Artikel^.Code := ' '
      else
        Artikel^.Code := fieldbyname('PLUNR').asstring;
      cboxArtikel.Items.AddObject(fieldbyname('NAME').asstring, TObject(Artikel));
      next;
    end;
denn beim Entfernen aus der ComboBox gibts du das Objekt auf dem Zeiger PArtikel frei.
Da du aber beim Füllen immer das gleiche Objekt verwendest, werden beim löschen des 17. Artikels alle Objekte (was quasi ja nur einens ist) von 17 bis 0 freigeben.

nur eine Vermutug, denn so hab ich mit Comboboxen noch nicht gearbeitet.
  Mit Zitat antworten Zitat