Fehler bei Erstellung eines Arrays eines Records! (gelöst)

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Fehler bei Erstellung eines Arrays eines Records! (gelöst)

Beitrag von idefix »

Hallo!

Ich habe ein Array eines Records erstellt.
Entstanden ist dies aus folgendem Beispiel:
http://www.delphi-treff.de/tutorials/da ... speichern/

Dort dreht es sich um Datenspeicherung in Streams.
Das klappt auch.

Jetzt habe ich einen zweiten Record erstellt.
Nur da klappt es schon nicht bei einer einfachen Zuweisung.

Die Fehlermeldung lautet:

Code: Alles auswählen

Project Project0025.exe hat Exception-Klasse >>External: SIGSEGV<< ausgelöst.
Zur Fehlersuche habe ich alles in ein neues Project kopiert.

Könnt Ihr Euch das bitte mal anschauen?

Code: Alles auswählen

unit Unit0025;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
   TDatensatzAbfrage = record
          FachAbfrage   : String;
          FrageAbfrage  : String;
          AntwortAbfrage: String;
          faelligAbfrage  : String;
          KarteiAbfrage  : integer;
        end;
      TDatenAbfrageArray = array of TDatensatzAbfrage;
 
      { TForm1 }
      TForm1 = class(TForm)
        Button1: TButton;
        Label1: TLabel;
        procedure Button1Click(Sender: TObject);
 
  private
    { private declarations }
  public
    { public declarations }
  end; 
 
var
  Form1: TForm1; 
 
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
var
  DatenAbfrage : TDatenAbfrageArray;
begin
  DatenAbfrage[2].FachAbfrage := 'test';
  Label1.Caption := DatenAbfrage[2].FachAbfrage;
end;
Edit:
Das ganze auf WIN7 /Lazarus 0.9.30/ FPC 2.4.2

Vielen Dank!

Gruß!
idefix
Zuletzt geändert von idefix am Di 27. Sep 2011, 17:43, insgesamt 1-mal geändert.

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: Fehler bei Erstellung eines Arrays eines Records!

Beitrag von Antrepolit »

Du hast ein dynamisches Array erstellt und ihm keine größe angegeben.

SetLength(DatenAbfrage, 10)

am Anfang der Prozedur sollte dein Problem lösen.
Grüße, Antrepolit

care only if your os is really burning

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: Fehler bei Erstellung eines Arrays eines Records (gelöst)

Beitrag von idefix »

Hallo!
Antrepolit hat geschrieben:Du hast ein dynamisches Array erstellt und ihm keine größe angegeben.

SetLength(DatenAbfrage, 10)

am Anfang der Prozedur sollte dein Problem lösen.
Hat geklappt.

Vielen Dank!

Gruß!
idefix

Antworten