AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 12:32

Parameter dieser Suchanfrage:

Suche in Thema: IsObject / IsClass
Suche alle Beiträge, die von "choose" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 8 von insges. 8 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    Re: IsObject / IsClass

      Delphi
      by choose, 21. Nov 2005
    ...darüber hinaus könnte IsObject auch zu analytischen Zwecken eingesetzt werden. So könnte ein bekannter Speicherbereich nach Objekten "durchsucht" werden, um Heuristiken über den Gebrauch von Klassen zu erstellen oder spezielle, sonst nicht weiter zugängliche, Exemplare gesucht werden. Auch Anfragen nach allen Exemplaren einer Klasse könnten mit einer Art von IsObject gelöst werden, auch wenn...
  • Forum: Object-Pascal / Delphi-Language

    Re: IsObject / IsClass

      Delphi
      by choose, 21. Nov 2005
    Hey,

    habe einmal versucht, die Idee von Hagen umzusetzen, und nun eine angepasste Version von IsObject erstellt:
    function IsObject(AObject: Pointer): Boolean; assembler;
    asm
    OR EAX,EAX // AObject == nil ??
    JNZ @@Try
    RET
    @@Try:
    XOR EDX,EDX // install Exception Frame, SEH
  • Forum: Object-Pascal / Delphi-Language

    Re: IsObject / IsClass

      Delphi
      by choose, 5. Feb 2004
    Hallo jpg,

    Du hast Recht. Leider habe ich die Routinen bisher in zu isolierten Umgebungen getestet, als dass ein durch die Nachlässigkeit bedingter Fehler aufgetreten sein könnte...
    Ich werde die Implementierung wohl ohnehin zugunsten einer Prüfung gegen alle registrierten Klassenreferenzen, die mit Hagens Routine ermittelt werden können, aufgeben. Bei dieser Implementierung werde ich dann...
  • Forum: Object-Pascal / Delphi-Language

    Re: IsObject / IsClass

      Delphi
      by choose, 5. Feb 2004
    Hallo Hagen,


    Ja, das mache ich, weil es nicht notwendig ist:



    Das war mir nicht bekannt. Danke für Deinen recht kurzen Ansatz des Try..Excepts-Blocks. Ich werde ihn mir morgen etwas genauer ansehen.

    Ebenso werde ich mir morgen den Code zum Iterieren der RTTI ansehen können, sieht schon einmal vielversprechend aus (kannst Du eine Aussage über die Kompatibilität Deiner Lösung zu den...
  • Forum: Object-Pascal / Delphi-Language

    Re: IsObject / IsClass

      Delphi
      by choose, 4. Feb 2004
    Hallo Hagen,

    Ich bin mir nicht ganz sicher, welche Lösung Du hier ansprichst. Weder mein Code prüft soetwas ab noch sprach ich zirkuläre Hierarchien in der Vererbung an. Mein Beispiel aus der Funktion TakeIsClassForARide sollte lediglich unglückliche willkürliche Daten Repräsentieren. Den Fall, bei dem die eingangs gewählte zu überprüfende Referenz zufällig auf willkürliche Daten verweist (zB...
  • Forum: Object-Pascal / Delphi-Language

    Re: IsObject / IsClass

      Delphi
      by choose, 4. Feb 2004
    Hallo Hagen,

    zunächst einmal möchte ich die Problematik mit der Endlosschleife (zugegen, recht unwahrscheinlich) bei Deiner Implementierung auf ungüültigen Daten genauer demonstrieren:
    procedure TakeIsClassForARide;
    var
    myCircularData : record
    vmtParent : Pointer; // -36
    vmtSafeCallException : Integer; // -32
    vmtAfterConstruction : Integer; // -28
    ...
  • Forum: Object-Pascal / Delphi-Language

    Re: IsObject / IsClass

      Delphi
      by choose, 4. Feb 2004
    Hallo Hagen,

    ich berufe mich auf die Unit DEC_api vom 26.08.1999 (zugegeben, etwas alt?), in der folgende Abfrage zufinden ist:
    if (PInteger(PChar(AObject) - SizeOf(Integer))^ and $00000002 = $00000002)
    bevor der Vergleich auf die Klasse stattfindet.


    Diese Implemenentierung konnte ich weder in der DEC_api noch in der DECUtil vom 26.08.1999 mit if TObject(AObject) is AClass entdecken....
  • Forum: Object-Pascal / Delphi-Language

    IsObject / IsClass

      Delphi
      by choose, 3. Feb 2004
    Oft wird Delphi-Neulingen geraten, bei der Arbeit mit Objekten die Referenzen nach der Freigabe eines Objekts (zB mit FreeAndNil) wieder auf nil zu setzen, damit ein Vergleich der Form
    if Assigned(AnObject) then eingesetzt werden kann, um zu überprüfen, ob es sich um eine gültige Referenz handelt.
    Der Compiler von Delphi initialisiert Objektreferenzen innerhalb von Methoden und...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=choose&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=15729
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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