AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE exe läuft gar nicht nach Portierung auf RAD2009
Thema durchsuchen
Ansicht
Themen-Optionen

exe läuft gar nicht nach Portierung auf RAD2009

Ein Thema von messie · begonnen am 7. Jul 2009 · letzter Beitrag vom 7. Jul 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#11

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 13:21
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:
Also Application.Initialize würde die ja alle abarbeiten.
nein, dieser Befehl initialisiert nur das Application-Objekt ... die Unitinitialisation geschieht nocht davor (vom Debugger aus noch wärend des Begin am Ende des Projektdatei)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#12

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 13:46
Zitat von himitsu:
Zitat:
Also Application.Initialize würde die ja alle abarbeiten.
nein, dieser Befehl initialisiert nur das Application-Objekt ... die Unitinitialisation geschieht nocht davor (vom Debugger aus noch wärend des Begin am Ende des Projektdatei)
Danke, das wusste ich noch nicht. Am Ende dieser Routine in der GnuGetText.pas hängt sich das Programm weg
Delphi-Quellcode:
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;
Scheint daran zu liegen, dass GetLocaleInfo mit dem array of char nix anfangen kann.

Grüße, Messie
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 13:49
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#14

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 13:57
Eigentlich sollte die Definition von MSDN-Library durchsuchenGetLocaleInfo in Delphi auch Unicode sein und auf GetLocaleInfoW verweisen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 14:11
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#16

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 14:27
Arg, das hatte ich garnicht beachtet ...
also Length(LanguageName) verwenden oder alles (String, Char und Funktionen) auf Ansi umstellen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 14:36
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)
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#18

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 14:44
Zitat von messie:
Am Ende dieser Routine in der GnuGetText.pas hängt sich das Programm weg
Hallo Messie,

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 Runterladen bitte einfach hier entlang.

Bis denn
Bbommel
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#19

Re: exe läuft gar nicht nach Portierung auf RAD2009

  Alt 7. Jul 2009, 19:00
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 21:41 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