![]() |
AW: string ein Alias für UnicodeString
Zitat:
Delphi-Quellcode:
Siehe..
function GetVerInfo(FileName: string): WideString;
var VI: TVerInfo; TransIdx: integer; Trans: string; StrIdx: integer; StrName: string; begin VI := TVerInfo.Create(FileName); try if VI.HasVerInfo then begin for TransIdx := 0 to Pred(VI.TranslationCount) do begin Trans := VI.Translations[TransIdx]; // display all standard strings for StrIdx := Low(cStrNames) to High(cStrNames) do begin StrName := cStrNames[StrIdx]; if StrName = 'FileDescription' then begin Result := VI.Strings[Trans, StrName]; Break; end; end; end; end else Result := ''; finally VI.free; end; end;
Delphi-Quellcode:
Result := VI.Strings[Trans, StrName];
Delphi-Quellcode:
property Strings[const Trans, Name: string]: string read GetString;
Delphi-Quellcode:
function TVerInfo.GetString(const Trans, Name: string): string;
begin Assert(fHasVerInfo); Result := GetVerInfoStr(fVerInfo, Trans, Name); // <<< hier der Part end;
Delphi-Quellcode:
gruss
function GetVerInfoStr(const Buffer: Pointer;
const Trans, StrName: string): string; |
AW: string ein Alias für UnicodeString
Kannst du vernünftig und logisch schlüssig erklären, warum du an der Stelle als Result-Typ WideString nimmst?
Warum benennst du deine eigene Funktion exakt gleich zu einer Funktion aus einen fremden verwendeten Quelltext? Du machst dir doch selber das Leben schwer. |
AW: string ein Alias für UnicodeString
Zitat:
Zitat:
GetVerInfo <> GetVerInfoStr Die andere GetVerInfo wird gar nicht aufgerufen bzw. verwendet. Aber.. Das Thema ist eigentlich erledigt weil ich es innerhalb meiner DLL gefixt habe. ;) gruss |
AW: string ein Alias für UnicodeString
Innerhalb deines eigenen Moduls besteht doch gar keine Notwendigkeit auf WideString zu gehen.
|
AW: string ein Alias für UnicodeString
Zitat:
gruss |
AW: string ein Alias für UnicodeString
Keine Ahnung, ob das hier relevant ist, aber vielleicht hilft es ja:
![]() Zitat:
|
AW: string ein Alias für UnicodeString
Danke für eure Informationen.
Wie ich schon sagte.. Zitat:
Innerhalb der Anwendung besteht kein Grund mehr WideStrings zu verwenden habe es korrigiert und nochmals auf Speicherlecks geprüft. Scheint alles IO zu sein wenn man sich denn auf EurekaLog und ReportMemoryLeaksOnShutdown verlassen kann. gruss |
AW: string ein Alias für UnicodeString
Welches war der Stringtyp der von Windows als OLE Objekt verwaltet wurde und weder Freigabe noch Management durch den Delphi Memorymanager oder fastmem brauchte?
|
AW: string ein Alias für UnicodeString
WideString. Aber nur bei Verwendung von OLE.
|
AW: string ein Alias für UnicodeString
Ich verwende viele WideStrings innerhalb meiner DLL diese arbeitet aber global mit Interfaces
Mein Fehler war früher das ich nicht wusste das Strings Unicode fähig sind das war der einzige Grund das ich WideString eingebaut habe. Das jetzt alles umzuschreiben macht am ende mehr kaputt als das es irgendeinen Vorteil bringt, daher lasse ich es so. Habe bisher hier keine Probleme. (Abgesehen vom ToolTip warum auch immer 64Bit) Ja jetzt kommt der Aufschrei.. Nein lieber PWideChar verwenden. :) Ist aber auch kein Allheilmittel gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 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