![]() |
Re: exe läuft gar nicht nach Portierung auf RAD2009
Alles was zwischen Begin-End. am Ende eines Projektes bzw. den Units steht und alles im Initialization-Abschnitt wird bei Programmstart erstmal ausgeführt ... also erstmal nachsehn was in den anderen Units da noch drinsteht.
Und wenn die Units (DCU) mit passenden Debuginformationen gespeichert/erstellt sind, dann reicht auch einfach mal das Debugging mit F7 anzufangen und sich dann durchzuhangeln. [add] Zitat:
|
Re: exe läuft gar nicht nach Portierung auf RAD2009
Zitat:
Delphi-Quellcode:
Scheint daran zu liegen, dass GetLocaleInfo mit dem array of char nix anfangen kann.
function GetWindowsLanguage: string;
var langid: Cardinal; langcode: string; CountryName: array[0..4] of char; LanguageName: array[0..4] of char; works: boolean; begin // The return value of GetLocaleInfo is compared with 3 = 2 characters and a zero works := 3 = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, LanguageName, SizeOf(LanguageName)); works := works and (3 = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, CountryName, SizeOf(CountryName))); if works then begin // Windows 98, Me, NT4, 2000, XP and newer LangCode := PChar(@LanguageName[0]) + '_' + PChar(@CountryName[0]); end else begin // This part should only happen on Windows 95. langid := GetThreadLocale; case langid of IDBelgianDutch: langcode := 'nl_BE'; IDBelgianFrench: langcode := 'fr_BE'; IDBrazilianPortuguese: langcode := 'pt_BR'; IDDanish: langcode := 'da_DK'; IDDutch: langcode := 'nl_NL'; IDEnglishUK: langcode := 'en_UK'; IDEnglishUS: langcode := 'en_US'; IDFinnish: langcode := 'fi_FI'; IDFrench: langcode := 'fr_FR'; IDFrenchCanadian: langcode := 'fr_CA'; IDGerman: langcode := 'de_DE'; IDGermanLuxembourg: langcode := 'de_LU'; IDGreek: langcode := 'gr_GR'; IDIcelandic: langcode := 'is_IS'; IDItalian: langcode := 'it_IT'; IDKorean: langcode := 'ko_KO'; IDNorwegianBokmol: langcode := 'no_NO'; IDNorwegianNynorsk: langcode := 'nn_NO'; IDPolish: langcode := 'pl_PL'; IDPortuguese: langcode := 'pt_PT'; IDRussian: langcode := 'ru_RU'; IDSpanish, IDSpanishModernSort: langcode := 'es_ES'; IDSwedish: langcode := 'sv_SE'; IDSwedishFinland: langcode := 'fi_SE'; else langcode := 'C'; end; end; Result := langcode; end; Grüße, Messie |
Re: exe läuft gar nicht nach Portierung auf RAD2009
In Delphi 2009 besteht ein Char aus 2 Byte (UniCode)
Wenn Du ein 1 Byte Char haben willst solltest Du AnsiChar verwenden. Grüße Klaus |
Re: exe läuft gar nicht nach Portierung auf RAD2009
Eigentlich sollte die Definition von
![]() |
Re: exe läuft gar nicht nach Portierung auf RAD2009
Und genau dort liegt der Hase im Pfeffer: Du musst für den letzten Parameter Length, nicht SizeOf verwenden - mit dem derzeitigen Code "denkt" GetLocalInfo, dass der Puffer doppelt so groß ist und zerschießt dir die Rücksprungadresse.
|
Re: exe läuft gar nicht nach Portierung auf RAD2009
Arg, das hatte ich garnicht beachtet ...
also Length(LanguageName) verwenden oder alles (String, Char und Funktionen) auf Ansi umstellen |
Re: exe läuft gar nicht nach Portierung auf RAD2009
Letzteres wäre allerdings wohl kaum Sinn der Unicode-Übung. Es spricht ja nichts dagegen, die Funktion korrekt zu benutzen, indem man sich bei den Parametern nach der Dokumentation richtet. 8)
|
Re: exe läuft gar nicht nach Portierung auf RAD2009
Zitat:
wenn du alle Units erst mal so übernommen hast, wird das wohl tatsächlich die Ursache sein. Um mit D2009 arbeiten zu können, brauchst du dringend ein Update der gnugettext.pas. Um deine GPRS-Verbindung zu schonen, zum ![]() Bis denn Bbommel |
Re: exe läuft gar nicht nach Portierung auf RAD2009
So, bin wieder im gelobten DSL-Land. Statt nur die neue GnuGetText einzubinden habe ich dann auch gleich die neueste CPort-Kompo ausprobiert, die brauchte das nämlich.
Muss noch am Gerät ausprobiert werden aber erst nach dem Urlaub. Danke nochmal für die Tipps Grüße, Messie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 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