Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Problem mit SetWideStrProp und TnTLabel (https://www.delphipraxis.net/58692-problem-mit-setwidestrprop-und-tntlabel.html)

Sharky 11. Dez 2005 09:19


Problem mit SetWideStrProp und TnTLabel
 
Hai ihr,

ich habe mir die TntWare Unicode Controls installiert. Funktionieren sowei auch ohne Probleme.

Jetzt versuche ich aber mit diesem Code:
Delphi-Quellcode:
procedure TForm1.btn_Button1Click(Sender: TObject);
begin
  SetWideStrProp(TntLabel1, 'Caption', 'αβδτεδ');
end;
die Eigenschaft Caption eines TTntLabels zu ändern. Leider ohne erfolg. Es verählt sich genauso wie ein nicht unicodefähiges Label.

Kennt einer von euch den Grund woran das liegt und wie ich es ändern könnte?

marabu 11. Dez 2005 09:36

Re: Problem mit SetWideStrProp und TnTLabel
 
Moin Sharky,

vielleicht musst du erst einen passenden Font auswählen:

Delphi-Quellcode:
Graphics.DefFontData.Name := 'Tahoma'; // siehe ReadMe.txt
Grüße vom marabu

Sharky 11. Dez 2005 09:40

Re: Problem mit SetWideStrProp und TnTLabel
 
Hai marabu,

daran liegt es leider auch nicht.

Wenn ich es so mache :
Delphi-Quellcode:
begin
  TntLabel1.Caption := 'αβδτεδ';
end;
funktioniert es ohne Probleme. Nur wenn ich es mit SetWideStrProp versuche kommt Müll dabei heraus.

xaromz 11. Dez 2005 10:09

Re: Problem mit SetWideStrProp und TnTLabel
 
Hallo,

wenn man sich SetWideStrProp ansieht, steht da:
Delphi-Quellcode:
SetStrProp(Instance, FindPropInfo(Instance, PropName), Value);
Dein WideString wird also in einen AnsiString umgewandelt. So kann das also nicht funktionieren.

Gruß
xaromz

Sharky 11. Dez 2005 13:23

Re: Problem mit SetWideStrProp und TnTLabel
 
Zitat:

Zitat von xaromz
... Dein WideString wird also in einen AnsiString umgewandelt. ...

Hai xaramz,

danke für den Hinweis. Ich hätte ja auch selber mal auf die Idee kommen können das zu prüfen.
Jetzt werde ich mich einmal durch den Source von TypInfo kämpfen und schauen ob ich das für einen WideString umbauen kann.

Ist also ein BUG das ganze :stupid:

GetWideStrProp funktioniert übrigens richtig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 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