El_Cattivo
Grünschnabel
Hallo,
gleich mal vorweg: Da ich gerade von c auf c++ umsteige, bin ich recht unerfahren mit vielen Dingen der OOP.
Ich arbeite mit dem Borland Builder 6.0 unter Windows XP
Nun zu meinem Problem:
Ich reserviere mir mittels "new" dynamischen Speicher für 2D-Arrays, den ich am Ende der Methode mit delete [] wieder frei gebe.
Rufe ich diese Methode (wie hier durch erneutes clicken des Buttons) ein weiteres Mal auf, steigt das Programm mit einem Speicherfehler aus.
Hier mal die (wie ich denke) entscheidenden Quelltexte:
gleiches Problem tritt auf, wenn ich eine Methode iterativ aufrufe, in der Speicher so gehandhabt wird.
Vielen Dank für eure Hilfe
El_Cattivo
gleich mal vorweg: Da ich gerade von c auf c++ umsteige, bin ich recht unerfahren mit vielen Dingen der OOP.
Ich arbeite mit dem Borland Builder 6.0 unter Windows XP
Nun zu meinem Problem:
Ich reserviere mir mittels "new" dynamischen Speicher für 2D-Arrays, den ich am Ende der Methode mit delete [] wieder frei gebe.
Rufe ich diese Methode (wie hier durch erneutes clicken des Buttons) ein weiteres Mal auf, steigt das Programm mit einem Speicherfehler aus.

Hier mal die (wie ich denke) entscheidenden Quelltexte:
Code:
void __fastcall TMainMenue::BContinueClick(TObject *Sender)
{
EnableDLT();
.
.
.
}
void TMainMenue::EnableDLT(void)
{
//dyn speicherreservierung
double **Array1 = new double *[4]; //Ausstiegspunkt beim 2. Durchlauf
double **Array2 = new double *[3];
for (int i=0; i<4 ; i++) Array1[i] = new double [StrToInt(LabScanNr->Caption)];
for (int i=0; i<3 ; i++)
{
Array2[i]= new double [StrToInt(LabScanNr->Caption)];
}
.
.
.
delete [] Array1;
delete [] Array2;
}
gleiches Problem tritt auf, wenn ich eine Methode iterativ aufrufe, in der Speicher so gehandhabt wird.
Vielen Dank für eure Hilfe
El_Cattivo