Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi fehler bei schließen des form nach verwendung von array (https://www.delphipraxis.net/7287-fehler-bei-schliessen-des-form-nach-verwendung-von-array.html)

Illuminator-23-5 8. Aug 2003 09:05


fehler bei schließen des form nach verwendung von array
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Liste: array of integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  setLength(Liste, 3);
  for i := 1 to 3 do
    liste[i] := random(500);
end;

end.
beim schließen des Forms bringt er mir eine Fehlermeldung

sakura 8. Aug 2003 09:12

Re: fehler bei schließen des form nach verwendung von array
 
Ein Array mit der Länge drei hat die Indizies von 0 bis 2.

Code:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  setLength(Liste, 3);
  [color=#ff0000]for i := 0 to 2 do[/color]
    liste[i] := random(500);
end;
...:cat:...

Illuminator-23-5 8. Aug 2003 09:21

Re: fehler bei schließen des form nach verwendung von array
 
da hab ich noch keine fehlermeldung bekommen, erst wenn ich das formular schließen will, krieg ich 'ne fehlermeldung!

Tester 8. Aug 2003 09:31

Re: fehler bei schließen des form nach verwendung von array
 
Hi!

Versuch mal das Beispiel von sakura, er hat recht und dann funzt das auch.

Gruß

TESTER

sakura 8. Aug 2003 09:36

Re: fehler bei schließen des form nach verwendung von array
 
Zitat:

Zitat von Illuminator-23-5
da hab ich noch keine fehlermeldung bekommen, erst wenn ich das formular schließen will, krieg ich 'ne fehlermeldung!

Aber zum Testen bist Du doch bereit, oder :roll:

Einfach, das liegt an der Anordnung der Variablen im Speicher. Das Array liegt wahrscheinlich vor der Form-Variable. Durch das Überschreiten der Grenzen wird diese Überschrieben. Da Delphi diese jedoch nicht benötigt, um das Form darzustellen passiert erst einmal nichts. Wenn Delphi das Form am Ende jedoch freigibt und wohl die Variable nutzt, um es im Speicher zu finden, zeigt diese ins Nirwana :arrow: AV

...:cat:...

Illuminator-23-5 8. Aug 2003 10:20

Re: fehler bei schließen des form nach verwendung von array
 
ich habs probiert, aber es funzt immer noch nicht!!

alcaeus 11. Aug 2003 18:48

Re: fehler bei schließen des form nach verwendung von array
 
also, ich habs gerade probiert, den index von 1->0 und 3->2 geändert, und bei mir gabs keine probleme.

Luckie 11. Aug 2003 19:15

Re: fehler bei schließen des form nach verwendung von array
 
Greifst du auf Objekte zu, die du schon freigegeben hast?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz