Autor Beitrag
Dark-§hadow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 24



BeitragVerfasst: Mo 08.10.07 21:29 
Hallo zusammen.
Ich habe gerade angefangen, ein werdenes Programm aufzusetzen. Ich arbeite das erste Mal mit dynamischen Arrays. Ich habe euch den Source und alles mal mit dazu gepackt.

Hoffe, dass bald jemand Zeit findet und dort mal ein Auge drauf wirft, ich denke nicht, dass es für euch weiter schwierig sein wird.
Einloggen, um Attachments anzusehen!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1259

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 08.10.07 21:50 
Moin!

Meinst du nicht, es reichte aus, uns die Fehlerstelle zu zeigen? :? Du gibst ja nichtmal eine (ausführliche) Fehlerbeschreibung oder eine Reproduktionsanleitung mit. :| Etwas "unhöflich", uns den Source hinzuklatschen und suchen zu lassen, hm? :shock:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1337
Erhaltene Danke: 119

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Mo 08.10.07 21:58 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeMem(arr); // <-- und da ist der fehler denn auch schon!
  FreeMem(parr);
end;

Du brauchst ein dynamisches Array nicht frei zu geben. Das erledigt Delphi für dich. Wenn du unbedingt was schreiben willst dann tut es das:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Finalize(arr);
  Finalize(parr);
end;

Dein Quelltext sieht nicht so sonderlich toll aus. Ich würde sowas eher als Quähltext bezeichnen :wink:

@user profile iconNarses: Du hast recht. Ich denke mal, wenn du den Quelltext siehst, weist du auch warum es ist wies ist!

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
Dark-§hadow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 24



BeitragVerfasst: Mo 08.10.07 21:58 
Tut mir Leid, Narses ;_________________;

Also, ich starte des Programm...Klick auf den Button...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.Button1Click(Sender: TObject);

var
  Itemcounta, a :string;
  i  :integer;
begin
a:='';
Itemcounta :=Inputbox('Warenanzahl',
               'Bitte geben Sie die Anzahl der Waren an', Itemcounta);
Itemcount := StrtoInt (Itemcounta);
SetLength(arr, ItemCount);
SetLength(parr, ItemCount);
for i:=0 to Itemcount-1 do
begin
Arr[i]:=Inputbox(''+Inttostr(i+1)+'ter Wert',
             'Bitte geben Sie den '+Inttostr(i+1)+'ten Wert an',a);
parr[i]:=Copy(arr[i],
                                 Pos(',', arr[i]) +2,Pos(',', arr[i]) +2 );

end;
end;


will dann das Programm beenden (Button application.terminate), dann kommt der Fehler.
Wenn Narses noch weitere Fragen hat, sag bescheid :P

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt