Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zugriffsverletzung auf andere Unit (https://www.delphipraxis.net/13557-zugriffsverletzung-auf-andere-unit.html)

Spurius 21. Dez 2003 09:58


Zugriffsverletzung auf andere Unit
 
Hallo,
ich bin mit OOP noch nicht so vertraut, wollte es aber mal einsetzen.
Also,
ich hab ein Formular mit dazugehörender Unit:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit2, ExtCtrls, StdCtrls,wertesetzten;

type
  TForm1 = class(TForm)
  ...
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
 systemmain.Startwerte_setzen;
end;

end.
Und ich hab ne witere Unit ohne Formular, und da will ich Objekte erstellen, auf die ich aus unit1 zugreifen kann. Ich bekomme jedoch Zugriffsverletzungen, wenn ich z.B auf systemmain.zeit zugreife.
Hier die 2. Unit:
Code:
unit Wertesetzten;

interface
uses Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit2, ExtCtrls, StdCtrls;
type
 Tsystemmain=class
  public
  Zeit,Datum,Jahr:single;
  procedure Startwerte_setzen;
  constructor create(zeitf: single);
end;

 TSpieler=class
  Vermoegen, Schulden, Spielerlevel: single;
  Spielername, Hauptsitz, Unternehmensname: string;
end;

var Spieler: TSpieler;
    Systemmain: TSystemmain;
implementation
uses unit1;
constructor tsystemmain.create(zeitf: single);
begin
 zeit := zeitf;
end;
procedure tsystemmain.startwerte_setzen;
begin
 systemmain.Zeit := 22;
end;
end.
Weiss jemand warum?
Gruß
Spurius

Keldorn 21. Dez 2003 10:15

Re: Zugriffsverletzung auf andere Unit
 
Hallo

du mußt dein Object auch erzeugen und am ende wieder freigeben

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 systemmain:=tsystemmain.create;
 systemmain.Startwerte_setzen;
end;
gugg auch mal hier:
http://www.grundlagen.delphi-source.de/pascal/oo.shtml

Mfg Frank

Spurius 21. Dez 2003 10:38

Re: Zugriffsverletzung auf andere Unit
 
Hallo,
Danke,es geht jetzt.
Gruß
Spurius


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 Uhr.

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