AGB  ·  Datenschutz  ·  Impressum  







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

Published Methode und Zeiger

Ein Thema von Ghostwalker · begonnen am 5. Dez 2016 · letzter Beitrag vom 6. Dez 2016
Antwort Antwort
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Published Methode und Zeiger

  Alt 6. Dez 2016, 09:19
Jup..genau den bekomm ich auch unter 2006.

Ich schätz mal das das für neuere Versionen (pi mal daumen ab XE) wohl gefixt wurde.

Für meine Event-Liste hab ich (für besagte Ältere Versionen) einen andere Weg gefunden, um Zeiger als
Parameter übergeben zu können.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.540 Beiträge
 
Delphi 12 Athens
 
#2

AW: Published Methode und Zeiger

  Alt 6. Dez 2016, 09:54
Es kommt drauf an mit welchen RTTIFunktionen man das ausliest.

Die "neue" erweiterte RTTI hat standardmäßig auch Public-Methoden drin und selbst bis runter zu Private liestet die auf.
{$METHODINFO ON} wäre da nicht nötig. Das wird dann über {$RTTI METHODS([vcPublic, vcProtected, vcPrivate])} geregelt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Published Methode und Zeiger

  Alt 6. Dez 2016, 10:35
Jap. Da ich aber nicht über die neue RTTI verfüge, krieg ich die Infos über die Parameter und Aufruf-Konventionen nur über die VMT und damit letztlich nur aus dem published Bereich.

Was mich verwundert ist nur, das bei obigem Beispiel der Compiler einen Fehler rauswirft (eben interner Fehler), während sowas:

Delphi-Quellcode:
$METHODINFO on}
type
  TMyObject = class(TObject)
  private
  protected
  public
  published
    procedure DoSomething(caption:widestring);
  end;
Kein Problem ist. Widestring ist ja (intern betrachtet) auch nix anderes als ein Pointer. Sogar var oder out Parameter (auch wieder nix anderes als Pointer) frist der Compiler ohne zu Mucken.

Nur eben Zeiger (egal ob typisiert oder untypisiert) mag er so garnicht in dem Bereich.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Published Methode und Zeiger

  Alt 6. Dez 2016, 15:29
Interne Compilerfehler ergeben in den seltensten Fällen einen logischen Sinn - es sind Defekte im Compilercode, die zu einem wie auch immer gearteten Fehler (AV oder sonstiges) führen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 15:31 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-2025 by Thomas Breitkreuz