🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #346917

Re: RTTI SetValue i TValue.FromVariant

#346917
From: Roman Tyczka
Date: Fri, 25 Jan 2019 10:42
33 lines
2051 bytes
On Fri, 25 Jan 2019 01:34:15 -0800 (PST), immo wrote:

>>> Ten problem konkretnie w Delphi XE2, ale nakierowałeś mnie - muszę to sprawdzić w najnowszym :)
>> 
>> Tak myślałem, że jakiś antyk jest na tapecie, a antyki miały spore problemy
>> z RTTI (i generykami) ;-)
>> 
>> W Tokyo (i kilku wersjach wstecz) to działa, bo niby czemu nie? 
> 
> Jesteś pewien że działa? Właśnie sprawdziłem w RIO i jego źródłach i nie ma prawa działać :P

procedure test;
var
  ctx : TRttiContext;
  rttiType : TRttiType;
  rttiProp : TRttiProperty;
  value: variant;
  rttiValue: TValue;
Begin
  Value := 1;
  rttiValue := TValue.FromVariant(Value);
//  ShowMessage(rttiValue.ToString); //tutaj pokazuje poprawne wartości
  ctx := TRttiContext.Create;
  rttitype := ctx.GetType(frmMain.cbbServerAddress.ClassInfo);
  rttiprop := rttitype.GetProperty('ItemIndex');
  rttiProp.SetValue(frmMain.cbbServerAddress, rttiValue);
end;

Taki kod przestawia mi itemindex z 0 na 1. Bez błędów i problemów.

-- 
pozdrawiam
Roman Tyczka
Technical Details
Message-ID: <67ocpvsjh6td$.dlg@tyczka.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <26a7a704-1917-44d0-9661-5e95ad255534@googlegroups.com> <xhs5aachxoxt.dlg@tyczka.com> <b0793d30-5159-4dd7-b059-d0add1131590@googlegroups.com> <lqwexlswweys.dlg@tyczka.com> <24f75068-0e40-489a-be02-9042b10692dc@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Roman Tyczka <noemail@because.no>
Newsgroups: pl.comp.lang.delphi
Subject: Re: RTTI SetValue i TValue.FromVariant
Date: Fri, 25 Jan 2019 11:42:37 +0100
Organization: ATMAN - ATM S.A.
Lines: 33
Sender: romek@tyczka.no.found
Message-ID: <67ocpvsjh6td$.dlg@tyczka.com>
References: <26a7a704-1917-44d0-9661-5e95ad255534@googlegroups.com> <xhs5aachxoxt.dlg@tyczka.com> <b0793d30-5159-4dd7-b059-d0add1131590@googlegroups.com> <lqwexlswweys.dlg@tyczka.com> <24f75068-0e40-489a-be02-9042b10692dc@googlegroups.com>
NNTP-Posting-Host: ip-94-75-90-137.wave.com.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1548412958 22945 94.75.90.137 (25 Jan 2019 10:42:38 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Fri, 25 Jan 2019 10:42:38 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.84
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit