AGB  ·  Datenschutz  ·  Impressum  







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

"Unsterbliche" Klassen

Ein Thema von Neutral General · begonnen am 14. Dez 2005 · letzter Beitrag vom 16. Dez 2005
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    
Dax
(Gast)

n/a Beiträge
 
#31

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:02
Die Praxis? Read-Only-Property einer Klasse. Anders gehts _nicht_.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#32

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:05
Das heißt ich muss es schaffen den Pointer meiner Klasse readonly zu machen ?
Na super.. Die Klassen haben ja nichtmal ne Eigenschaft Pointer...
Wie soll man sowas denn Readonly machen ?^^

NEIN ich glaube ich muss die komplette Klasse Readonly machen ^^
Michael
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#33

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:09
Erm, du verstehst das falsch.

Delphi-Quellcode:
type TForm1 = class(TForm)
  ..
  private
    fKlasse: TMeineUnsterblicheKlasse;
  public
   property UnsterblicheKlasse: TMeineUnsterblicheKlasse read fKlasse;
  end;
Oder so in der Art. Jedenfalls so, das der Zugriff auf den Pointer nie schreibend sein darf.
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#34

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:10
Zitat von Neutral General:
Delphi-Quellcode:
Klasse.Free;
Klasse.Destroy;
Klasse.FreeInstance;
FreeAndNil(Klasse);
TAndereKlasse(Klasse).Free
Teste mal TObject(Klasse).FreeInstance;
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#35

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:12
Zitat von Neutral General:
Ich muss ja verhindern das

Klasse := nil; seine Wirkung verliert, bzw das die Klasse schnell wieder ihren Zeiger wiederbekommt oder ihn erst gar nicht verliert..
Ähm, 'Klasse' scheint eine Referenz auf ein Objekt (Instanz einer Klasse) zu sein... das hat nichts mit deiner Klasse zu tun.
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#36

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:13
@Dax:
Das geht nicht. Er will ja, dass niemand eine Instanz seiner Klasse zerstören kann, also auch ohne "selbstauferlegte" Beschränkungen. Ist also quasi eine Art vollkommen sinnloser API. (Das ist aber nicht negativ gemeint)

@malo:
Nein, das geht nicht. Default-Eigenschaften kann man nur für Array-Eigenschaften angeben--siehe oben.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#37

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:16
Zitat von MaBuSE:
Zitat von Neutral General:
Delphi-Quellcode:
Klasse.Free;
Klasse.Destroy;
Klasse.FreeInstance;
FreeAndNil(Klasse);
TAndereKlasse(Klasse).Free
Teste mal TObject(Klasse).FreeInstance;
Eh was willst du mir damit sagen ?
Also meine Klasse ist immun gegen TObject(Klasse).FreeInstance...
Und das von Natur aus

Aber immernoch nicht gegen Klasse := nil; -.-^^

@Tigerman(@Dax): Genau. Also die Klasse soll keine Property sein. Bzw sie muss keine sein aber trotzdem "unverwundbar"
Michael
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#38

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:36
Zitat von Neutral General:
Eh was willst du mir damit sagen ?
Also meine Klasse ist immun gegen TObject(Klasse).FreeInstance...
Und das von Natur aus
Kannst Du mal den Quellcode Deiner Klasse posten, ich würde das gerne mal sehen.

Dann kann ich selbst ausprobieren, ob TObject(Klasse).Free; funktioniert.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#39

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:40
Wie wärs wenn du den Inhalt deines Zeigers und einen Zeiger auf den Zeiger als protected-Variablen in deiner Klasse speicherst? Dann machst du eine Endlosschleife in die Klasse rein, in der du überprüfst, ob sich der Wert im Zeiger verändert hat.

Und: :=nil ist WIRKLICH kein Zerstören: Es bedeutet ja nur dass das Prog nicht mehr weiss wo im RAM die Klasse eigentlich ist. Dann könntest du die Klasse auch in einer lokalen Variable öffnen, die ist dann auch "verloren" wie bei :=nil.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#40

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:40
Zitat von Neutral General:
Ich hab ne Idee: Ich erstelle eine "Unverwundbare" Klasse. Ich geb euch den Quellcode von nem Programm mit ner Unverwundbaren Klasse. Ihr dürft verändert was ihr wollt, aber ihr dürft keine Functionen,Proceduren oder Variabel oder so von der Klasse verändern oder hinzufügen. Wer es zuerst schafft die Klasse zu zerstören hat gewonnen

(Das war ernst gemeint )
Also was ist?
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    


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 03: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