AGB  ·  Datenschutz  ·  Impressum  







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

Frage zu OOP

Ein Thema von Airblader · begonnen am 3. Nov 2005 · letzter Beitrag vom 3. Nov 2005
Antwort Antwort
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#1

Frage zu OOP

  Alt 3. Nov 2005, 22:28
Huhu

Ich hab mal ne kleine Frage zu OOP:
Ich hab in einer 2. Unit eine Klasse erstellt und will nun in der Hauptunit eine Instanz davon erzeugen.

Mein Problem ist, dass ihm die Klasse natürlich nichts sagt, wenn ich die Variable deklarier.
Wie kann ich also in der Hauptunit die Klasse verwenden und trotzdem eine Variable erstellen, die dann natürlich in der gesamtem Mainunit verfügbar ist?

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Frage zu OOP

  Alt 3. Nov 2005, 22:33
Wo genau ist dein Problem?

Delphi-Quellcode:
unit Main;

interface

uses Unit2;

var MyClass: TMyClass;

implementation

initialization
begin
MyClass:=TMyClass.Create;
end;

finalization
begin
MyClass:=nil;
end;

end.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#3

Re: Frage zu OOP

  Alt 3. Nov 2005, 22:36
Ok...dumme Frage, ich gebs zu. Das kommt davon, wenn man so Kopfweh hat und weitermachen will
(Kurze Erklärung: Ich hatte die 2. Unit erst im uses im implemenation-Teil drin...)

Danke

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Frage zu OOP

  Alt 3. Nov 2005, 22:37
Ich bin seit 3 Wochen im Halbschlaf. Wohl der Grund, warum ich auch nix hinkriege.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Frage zu OOP

  Alt 3. Nov 2005, 22:42
Zitat von 3_of_8:
Wo genau ist dein Problem?

Delphi-Quellcode:
finalization
begin
MyClass:=nil;
end;
Vorsicht, man sollte eine Klasse immer mittels Destruktor freigeben (der räumt dann wirklich mal den Speicher auf. MyClass := nil setzt nur den Zeiger auf nil, der von MyClass reservierte Speicher bleibt natürlich belegt. So bekommt man ganz schnell Speicherlecks hin, die es in sich haben.
Besser:

Delphi-Quellcode:
finalization
begin
  // Aufruf des Destructors
  MyClass.Free;
end;
oder um sicher zu gehen, dass der Zeiger von MyClass nicht gesetzt bleibt :

Delphi-Quellcode:
finalization
begin
  FreeAndNil(MyClass);
end;
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Frage zu OOP

  Alt 3. Nov 2005, 22:44
Bin ein Newbie!
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#7

Re: Frage zu OOP

  Alt 3. Nov 2005, 22:52
War nicht gegen dich gerichtet, wollte nur warnen. War auch mal Newbie (aber das liegt lange zurück, man wenn ich an die Zeit zurück denke, Gestern war schon komisch ), nein, ich meine ich mach selbst jetzt noch häufig genug solche Fehler, ist nichts Schlimmes. Also nicht persönlich nehmen!
Nur aufpassen, bei ein paar hundert größeren Objekten (die hat man doch auch mal zusammen) kann da schnell der Speicher weg sein. Hatte das Problem auch mal in einer Tiff-Unit, aber egal, jedenfalls ist FreeAndNil fast immer das fehlerfreiste.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Frage zu OOP

  Alt 3. Nov 2005, 23:01
Ich nehme so was nie persönlich. Wollte nur darauf hinweisen, dass ich es nicht besser weiß.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  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 05:40 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