AGB  ·  Datenschutz  ·  Impressum  







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

Klasse in Varibale speichern?

Ein Thema von JustinBeer · begonnen am 24. Apr 2010 · letzter Beitrag vom 24. Apr 2010
Antwort Antwort
JustinBeer

Registriert seit: 24. Apr 2010
2 Beiträge
 
#1

Klasse in Varibale speichern?

  Alt 24. Apr 2010, 17:36
Hallo Leute, bin neu hier im Forum

ich arbeite seit kurzem mit Delphi und beschäftige mich gerade mit Klassen.
Mein derzeitiges Problem ist die "Speicherung" einer Klasse in einer Variabel ca. so:

Delphi-Quellcode:
type
  Klasse1 = Class
  private
    blabla
  public
    blalba
    
    constructor Create;
end;

type
  Klasse2 = Class
  private
    FVariable: Klasse1;
  public
    property Variable: Klasse1 read FVariable;

    constructor Create(AKlasse1: Klasse1);
end;


constructor Klasse2.Create(AKlasse1: Klasse1);
Begin
  self.FVariable := AKlasse1;
End;
So und im dem Create Ereignis bekomm ich ne Zugrifsverletztung. Kann das sein, dass ich die FVariable über
Delphi-Quellcode:
FVariable := Klasse1.Create
FVariable := AKlasse1;
erst erstellen muss? Aber das kann es doch auch nicht sein, ich möchte nachher bei klasse1 5 Eigenschaften bei der Erstellung mitgeben und wenn ich das bei klasse2 dann vortäuschen müsste nur damit ich das was ich erstelle danach wieder verwerfe, weil ich ja im constructor die FVariable dann wieder mit der übergebenen überschreibe?

Oder geht es doch so wie ichs gern hätte und ich hab nur vergessen was einzubauen o.ä.?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Klasse in Varibale speichern?

  Alt 24. Apr 2010, 17:42
Ich hab mir mal den Code angeschaut und in der Theorie sollte dieser auch funktionieren. Dein 2. Codeschnipsel produziert nur ein Speicherleck, welches der Compiler evtl. sogar wegoptimiert. Lösche mal alles was in dem Projektverzeichnis auf .dcu endet. Somit sagst du dem Compiler von Delphi, dass er doch bitte keinen Schrott produzieren soll.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
JustinBeer

Registriert seit: 24. Apr 2010
2 Beiträge
 
#3

Re: Klasse in Varibale speichern?

  Alt 24. Apr 2010, 17:48
lol vielen Dank, hat funktioniert xD

Mit dem "das was ich erstelle danach wieder verwerfe" war dein Speicherleck gemeint.
nochmal danke, weiß zwar nicht wie Sowas passieren kann, aber was solls, hauptsache es läuft
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Klasse in Varibale speichern?

  Alt 24. Apr 2010, 17:48
Im Constructor der Klasse2 kann es eigentlich nicht zu einer Exception kommen.
Wie rufst du diesen denn auf?

Und nein, wegoptimieren würde er dieses Speicherleck nicht.

[edit]
ohh, schon gelöst

PS: Statt dem Löschen könnte man auch erstmal Shift+F9 versuchen. Dieses sollte auch alles neu kompilieren.
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 23:22 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