Einzelnen Beitrag anzeigen

stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#4

AW: Auf "überliegende" Klasse zugreifen ?

  Alt 30. Aug 2014, 19:25
Danke für eure Antworten

Olli73: Der Code sieht ja ansich sehr gut aus, bloß leider bekomme ich sofort eine Zugriffsverletzung wenn ich dann auf Die Variablen von TMainClass zugreifen möchte.

Fehler ist: External: SIGSEGV

Mein Programm sieht jetzt so aus:
Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

  TMainClass = class;

    TUseFulClass = class
      private
        FMainClass: TMainClass;
      public
        function DoSomething:boolean;
    end;

    TMainClass = class
      usefulinfos:string;
      UsefulClass:TUsefulClass;
    end;



var
  Form1: TForm1;
  MainClass:TMainClass;

implementation

{$R *.lfm}

   { TForm1 }

   procedure TForm1.Button1Click(Sender: TObject);
   begin
      MainClass := TMainClass.Create;
      MainClass.usefulinfos:= 'Very useful Infos';
     Mainclass.usefulClass.DoSomething;
   end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

   function Tusefulclass.DoSomething:Boolean;
   begin
      //Access TmainClasses "usefulinfos" String ??
      Form1.Caption:= FmainClass.usefulinfos;


   end;


end.
Ich glaube ich muss das irgendwie anders lösen ?

Geändert von stiftII (30. Aug 2014 um 19:37 Uhr) Grund: Im Eifer des Gefächts vergessen die Klasse zu erstellen (Create)
  Mit Zitat antworten Zitat