AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010
Thema durchsuchen
Ansicht
Themen-Optionen

TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010

Ein Thema von gullatrulla · begonnen am 29. Sep 2009 · letzter Beitrag vom 13. Jun 2013
Antwort Antwort
Chris.R

Registriert seit: 8. Sep 2009
Ort: Nürnberg
68 Beiträge
 
Delphi 2010 Professional
 
#1

Re: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 201

  Alt 29. Sep 2009, 18:31
Hallo,

mit deiner Vermutung, dass es an der Unicode Unterstützung liegt, bist du ganz richtig.

Delphi-Quellcode:
procedure TStringAlignGrid.SetHintCell(ACol,ARow: longint; const Value: string);
var v:pstring;
begin
  FSaveHint:=true;
  v:=NewStr(value);
  v:=SetItemCell(ACol,ARow, FHintCell, v);
  if v<>NIL then
    DisposeStr(v);
end;
Die Funktion kann nicht kompilieren, da NewStr als Rückgabe PAnsiChar hat und unter Delphi 2009 ist PChar, PString und string ein Unicode String, also inkompatibel.

Du müsstest also alle Vorkommen von PChar, PString und string durch PAnsiChar, PAnsiString und AnsiString ersetzen.

Oder du probierst folgendes:

Delphi-Quellcode:
procedure TStringAlignGrid.SetHintCell(ACol,ARow: longint; const Value: string);
var v:pstring;
begin
  FSaveHint:=true;
  v:=SetItemCell(ACol,ARow, FHintCell, PChar(Value));// <- Value statt v als Parameter
  if v<>NIL then
    StrDispose(PChar(v));
end;
Allerdings weiß ich nicht was in der Funktion SetItemCell gemacht wird, kann also sein, das es trotzdem kracht,
weil z.B. mit festen Längen von Zeichen gerechnet wird (also 1 Byte pro Zeichen statt wie bei Unicode mit 2 Zeichen).

Die Version mit dem Ersetzen von String durch AnsiString sollte auf jedenfall funktionieren.
Solltest nur keine vergessen

Ciao Chris
  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 18:54 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