Einzelnen Beitrag anzeigen

querter

Registriert seit: 19. Apr 2008
30 Beiträge
 
#45

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 1. Jul 2016, 18:31
Hallo derMischka und somby;

Die Überarbeitung ist super ... zwischen der Version 2013 zur heutigen sind nun alle Speicherleaks behoben worden!

auch Getmem ist aus den Funktionen entfernt worden (mir fehlte da der Gegenpart "FreeMem" in den Functionen ... )
und Cardinal vs. loses Integer-typ ist behoben ...
und TabControl schießt nicht mehr ab ...
etc.pp ...

Das Teil sieht mit der jetzigen Version nach einer schönen runde Sache aus.

Eine Frage habe ich noch ... die var TDynWSbuf in den Funktionen ... ist es noch sinnige diese zu inizialisieren und finalisieren?

also am Anfang der jeweiligen Function ein
Initialize(wsBuf);
SetLength(wsBuf, 0);

und am Ende der Funktion

SetLength(wsBuf, 0);
Finalize(wsBuf);


Sample:
Delphi-Quellcode:
function Utf8toWideString(const aString:string):WideString;
var wsbuf : TDynWSbuf;
    ii : integer;
begin
  Initialize(wsBuf);
  SetLength(wsBuf, 0);

  if aString = 'then
  begin
    Result := '';
    exit;
  end;
  ii := ConvertToWideChar(@aString[1],length(aString),wsbuf);
  SetLength(Result,ii);
  if ii = 0 then exit;
  move(wsbuf[0],Result[1],ii * 2);

  SetLength(wsBuf, 0);
  Finalize(wsBuf);
end;

Danke für eure Arbeit!

Herzliche Grüße
  Mit Zitat antworten Zitat