AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi schreibender Zugriff auf private Variablen ?
Thema durchsuchen
Ansicht
Themen-Optionen

schreibender Zugriff auf private Variablen ?

Ein Thema von MaBuSE · begonnen am 6. Nov 2007 · letzter Beitrag vom 7. Nov 2007
 
Benutzerbild von MaBuSE
MaBuSE

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

schreibender Zugriff auf private Variablen ?

  Alt 6. Nov 2007, 16:50
Hallo,

ich habe ein kleines Problem. Ich müsste eine private Variable ändern (von außen) Das ist normalerweise nicht möglich und auch nicht gewollt. Kennt jemand einen dirty hack um das trotzdem zu machen?

Beisp:
Delphi-Quellcode:
unit Unit1;

interface

uses
  SysUtils;

type
  TmyTest = class(TObject)
  private
    sTest: string;
  public
    constructor Create;
    function getTest: string;
  end;

implementation

{$R *.dfm}

{ TmyTest }

constructor TmyTest.Create;
begin
  sTest := IntToStr(Random(100));
end;

function TmyTest.getTest: string;
begin
  Result := sTest;
end;

end.
Ich möchte nun in der Unit2 schreibend auf sTest zugreifen.

Aber ich kann Unit1 nicht ändern !!!

Wäre sTest protected, wäre es kein Problem.
Innerhalb der selben Unit kann ich auf sTest zugreifen, aber das bringt mir nix.
Class Helper bringt mich auch nicht weiter, da er ja auch von "außen" zugreift.

Delphi-Quellcode:
unit Unit2;

interface

uses
  SysUtils, Unit1;

type

type
  TmyTestHelper = class helper for TmyTest
    procedure setTest(s: string);
  end;

implementation

{$R *.dfm}

{ TmyTestHelper }

procedure TmyTestHelper.setTest(s: string);
begin
  // hier gibt es leider keinen schreibenden Zugriff auf sTest
end;

end.
Hat jemand eine Idee?
(vieleicht mit Code Beisp. , evtl mit RTTI?)
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  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 12:33 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