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 3 von 7     123 45     Letzte »    
NicoDE
(Gast)

n/a Beiträge
 
#21

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:11
Zitat von Neutral General:
(Bin am Rumbauen^^: Meine Klasse überlebt schon :

Delphi-Quellcode:
Klasse.Free;
Klasse.Destroy;
Klasse.FreeInstance;
FreeAndNil(Klasse);
TAndereKlasse(Klasse).Free
MUHAHAHAA ^^)
Jemand könnte auf die Idee kommen die Klassen-Definition in der Exe zur Laufzeit zu patchen...
  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
 
#22

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:18
Hehe ich glaube ich weiß sogar wie ich das abwenden kann
Michael
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#23

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:29
Im Prinzip gibts eine ganz einfache Methode. An Adresse null steht immer der Zeiger auf die VMT (virtual Method Table) in der die Verweise zu den überschrieben Methoden drin stehen. Man muss ganz einfach die Adresse der VMT auf die von TObject umlenken Dann funktioniert auch wieder der Aufruf von FreeInstance. hehe.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  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
 
#24

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:47
Bis jetzt müsst ihr noch keine Angst haben -.-^^
Mein Problem im Moment ist :

Meine(Un)VerwundbareKlasse := nil; -.-^^

Und das abzuwenden ist irgendwie ein Problem grad
Michael
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#25

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:51
Zitat von Neutral General:
Und das abzuwenden ist irgendwie ein Problem grad
Das ist ja auch kein Zerstören. Damit löschst du ja nur den Zeiger auf das Objekt. Das Objekt liegt weiterhin im Arbeitsspeicher, nur das Programm weiß nicht mehr, wo das liegt. So in etwa

Aber eventuell könntest du ja eine Standard-Property definieren, die du stattdessen auf Nil setzen würdest. Dann dürfte der Pointer noch auf das Objekt zeigen, aber ein anderer Pointer wird gelöscht...
  Mit Zitat antworten Zitat
tigerman33

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

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:56
Funktionieren Standardproperties nicht nur für array-Eigenschaften?
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
 
#27

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:57
Zitat von malo:
Zitat von Neutral General:
Und das abzuwenden ist irgendwie ein Problem grad
Das ist ja auch kein Zerstören. Damit löschst du ja nur den Zeiger auf das Objekt. Das Objekt liegt weiterhin im Arbeitsspeicher, nur das Programm weiß nicht mehr, wo das liegt. So in etwa

Aber eventuell könntest du ja eine Standard-Property definieren, die du stattdessen auf Nil setzen würdest. Dann dürfte der Pointer noch auf das Objekt zeigen, aber ein anderer Pointer wird gelöscht...
Das hört sich irgendwie schon gut an.. Aber wie meinst du das mit der Property ?
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..
Michael
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#28

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 14:59
Hey.. Eine Klasse besitzt ihren Zeiger nicht. Du besitzt den Zeiger auf die Klasse.. Also hilft nur, deinen Zeiger auf die Klasse mit einem Schreibschutz zu versehen.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#29

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 15:01
Ich weiß nicht, ob es wirklich funktioniert, aber ich dachte an sowas:
property Irgendwas: Pointer read fIrgendwas write fIrgendwas; default; Eventuell funktioniert es ja. Ist jedoch nicht getestet.
  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
 
#30

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 15:01
Ah ja.. soweit zur Theorie... ^^
Und wie sieht die Praxis aus ? (Bitte wenigstens ein Ansatz, ich muss ja sagen das ich die Unverwundbare Klasse erfunden hab xD)
Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 7     123 45     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 15:55 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