Article View: de.comp.lang.c++
Article #840Problem mit Containern
From: Dino Simonits
Date: Tue, 21 Nov 1995 10:22
Date: Tue, 21 Nov 1995 10:22
74 lines
2416 bytes
2416 bytes
Hallo!!
In einem Windows-Programm, das ich mit Borland C++ Version 4.5 ent-
wickele, taucht ein Laufzeitfehler auf, den ich nicht beheben kann.
Ich hoffe, hier gibt es jemand mit dem scharzen Guertel in Container-
Klassen-Programmierung, der mir helfen kann!
Die unten deklarierten Strukturen sollen Messdaten aufnehmen, von denen
weder die Anzahl der Punkte einer Messkurve noch die der Kurven selbst
vorher bekannt sind. Hierzu werden zwei verschachtelte Container von
Borland genutzt:
class TKurve { // zum Speichern einer Kurve
public:
TKurve():Punkt(10,0,10){};
TArrayAsVector<WORD> Punkt;
int operator ==(const TKurve &eintrag) const
// nur formaler Vergleichsoperator
{
return 0;
};
};
class TDaten { // zum Speichern aller Kurven
public:
TDaten():Kurve(200,0,200){};
TArrayAsVector<TKurve> Kurve;
// weitere Daten einfacher Datentypen
// ...
};
Als Member der zentralen Fensterklasse sind u.a. folgende
Objekte deklariert:
TDaten daten;
TKurve kurve;
Im Konstruktor der zentralen Fensterklasse wird der Container
des Objekts kurve mit 10 Elementen gefuellt:
Daten.Kurve.Flush();
for (int t=0;t<10;t++) kurve.Punkt.Add((WORD)t);
Der Container des Daten-Objekts wird nun im Verlauf des Programms
mehrmals um jeweils 100 Kurven erweitert.
for (int z=0;z<100;z++) // Fuege 100 Kurven hinzu
Daten.Kurve.Add(kurve);
Diese Operation fuehrt nach ungefaehr 1200 Kurven im Container zu einem
Programmabbruch, die Entwicklungsumgebung von Borland meldet eine
unbehandelte Exception.
Wie kommt es zu diesem Abbruch, der offensichtlich (nach meinen Tests)
unabhaengig von der Anzahl der gespeicherten Punkte (hier 10) ist?
Von welchem Typ ist die hierbei auftretende Exception,
und wie kann man sie abfangen oder vermeiden?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dino Simonits
simonits@wrcs3.uni-wuppertal.de
tel 0221/676-2247
fax 0221/676-2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Technical Details
Message-ID:
<48s98l$dji@wmwap1.math.Uni-Wuppertal.DE>Path:
arc1-ca.pugleaf.net!wmwap1.math.uni-wuppertal.de!simonitsShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!wmwap1.math.uni-wuppertal.de!simonits From: simonits@wrcs1.urz.uni-wuppertal.DE (Dino Simonits) Newsgroups: de.comp.lang.c++ Subject: Problem mit Containern Date: 21 Nov 1995 10:22:13 GMT Organization: University of Wuppertal Message-ID: <48s98l$dji@wmwap1.math.Uni-Wuppertal.DE> NNTP-Posting-Host: wrcs3.urz.uni-wuppertal.de X-Newsreader: TIN [version 1.2 PL2]