AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Zugriff auf procedure und funktionen nicht instanziierter Klassen / Objekte
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf procedure und funktionen nicht instanziierter Klassen / Objekte

Ein Thema von DSCHUCH · begonnen am 11. Feb 2013 · letzter Beitrag vom 14. Feb 2013
 
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

AW: Zugriff auf procedure und funktionen nicht instanziierter Klassen / Objekte

  Alt 11. Feb 2013, 22:42
sehr gut, ich bin nicht der einzige der da schaut wie ein pferd ins uhrwerk.

hier mal ein einfaches bsp.

Delphi-Quellcode:
  Tc = class(TComponent)
    private
     F : TComponent;
     class var I : Integer;
     function GetPrivateF : String;
    public
     procedure t;
    published
     property getF : String read GetPrivateF;
  end;

function Tc.GetPrivateF: String;
begin
 ShowMessage('Here i am');
 Application.ProcessMessages; //wir aufgerufen von einem nicht existierenden Objekt!!!
 Application.DoSomething(Self); //ruft eine weitere Methode aus nicht exisitierendem Objekt auf, mit einem NIL zeiger auf Self.
 Exit('Ok')
end;

procedure Tc.t;
begin
 ShowMessage('test');
 if Assigned(Self) then
    ShowMessage('Self is Assigned')
   else
    ShowMessage('Self is not Assigned');//analog Free (wo ich geacht hätte es wäre eine art class procedure und daher mit nil aufrufbar)
end;


procedure TForm6.Button1Click(Sender: TObject);
var C : TC;
begin
 C:=nil;
 //ShowMessage(C.Name);
 ShowMessage(C.getF);
end;

procedure TForm6.Button2Click(Sender: TObject);
var C : TC;
begin
 C:=nil;
 //ShowMessage(C.Name);
 C.t;
end;

Geändert von DSCHUCH (11. Feb 2013 um 22:44 Uhr)
  Mit Zitat antworten Zitat
 


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:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz