AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array als Parameter/ Zugriffsverletzung

Ein Thema von Jikklas · begonnen am 4. Feb 2012 · letzter Beitrag vom 5. Feb 2012
Antwort Antwort
Jikklas

Registriert seit: 4. Feb 2012
2 Beiträge
 
#1

Array als Parameter/ Zugriffsverletzung

  Alt 4. Feb 2012, 22:51
Delphi-Version: 7
Hallo erstmal,
ich habe folgendes Problem: Ich will einen Array als Parameter übergeben, bekomme aber eine Zugriffsverletzung als Fehlermeldung. Ich habe für den Array einen Typen erstellt und den Array als Konstante dieses Typs deklariert.
Diesen benutze ich dann als Parameter.
Hier der Teil des Codes, der das Problem verursacht:

Delphi-Quellcode:
unit Unit1;

interface

uses
  {...}, Unit2;

type
  TForm1 = class(TForm)
    {...}
  private
    {...}
    BrownProp1: TProperty;
    {...}
    procedure SetupTypes;
  public
    {...}
  end;

const
  {...}
  brownprop1_pos: TPosition = (256/225, 0, 22/15);

var
  Form1: TForm1;

implementation

{...}

procedure TForm1.SetupTypes;
begin
  {...}
  //der folgende Aufruf macht Probleme:
  BrownProp1.Create(1, 1, brownprop1_pos);
end;

{...}

end.
die 2te Unit des Programms:

Delphi-Quellcode:
unit Unit2;

interface

uses
  {...};

type
  TPosition = Array [0..2] of GLFloat;

type
  TSpace = class(TObject)
  private
    FNumber: Integer;
    FPositionCoord: TPosition;
    FHeight: GLFloat;
    FWidth: GLFloat;
    FEdge: Integer;
  public
    constructor Create(Num, EdgeNum: Integer; H, W: GLFloat;
                       const Pos: TPosition);
  end;

type
  TProperty = class(TSpace)
  private
    FOwner: String;
    FHouses, FHotels: Integer;
  public
    constructor Create(Num, EdgeNum: Integer; const Pos: TPosition);
  end;


implementation
{$O-}

constructor TSpace.Create(Num, EdgeNum: Integer; H, W: GLFloat;
                          const Pos: TPOsition);
begin
  inherited Create;
  FNumber:= Num;
  FEdge:= EdgeNum;
  FHeight:= H;
  FWidth:= W;
  FPositionCoord:= Pos;
end;

constructor TProperty.Create(Num, EdgeNum: Integer; const Pos: TPosition);
begin
  inherited Create(Num, EdgeNum, 8/15, 74/225, Pos);
  FOwner:= 'none';
  FHouses:= 0;
  FHotels:= 0;
end;

end.
Danke schonmal im Voraus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#2

AW: Array als Parameter/ Zugriffsverletzung

  Alt 4. Feb 2012, 22:59
Zitat:
BrownProp1.Create(1, 1, brownprop1_pos);
Das Array ist OK, aber so als Frage:
Wie erstellt man ein Objekt?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Jikklas

Registriert seit: 4. Feb 2012
2 Beiträge
 
#3

AW: Array als Parameter/ Zugriffsverletzung

  Alt 5. Feb 2012, 00:03
Das Array ist OK, aber so als Frage:
Wie erstellt man ein Objekt?
Wenn du so fragst, dann hab ichs wahrscheinlich falsch gemacht
Wie müsste ichs denn machen?

Edit: Bin grad von selbst drauf gekommen danke für den Hinweis.
es muss heißen

BrownProp1:= TProperty.Create(1, 1, brownprop1_pos);

Geändert von Jikklas ( 5. Feb 2012 um 00:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#4

AW: Array als Parameter/ Zugriffsverletzung

  Alt 5. Feb 2012, 00:21


ach ja, welcome
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 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