AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit TStrings.IndexOfName unter Vista

Offene Frage von "sh17"
Ein Thema von sh17 · begonnen am 31. Mär 2007 · letzter Beitrag vom 28. Dez 2007
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 2. Apr 2007, 15:59
Zitat von sh17:
Vielleicht langt es ja schon, wie bei TNTs InstallTntSystemUpdates die Delphi-Functionen zu patchen.
Hab es getestet, geht super.

Damit wäre ja der erste TNT-Fork da
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 2. Apr 2007, 16:09
Zitat von sh17:
Zitat von sh17:
Vielleicht langt es ja schon, wie bei TNTs InstallTntSystemUpdates die Delphi-Functionen zu patchen.
Hab es getestet, geht super.

Damit wäre ja der erste TNT-Fork da
Bringt aber nichts wenn eine verwendete DLL genau in dieses Problem läuft. BeiTNT werden ja "nur" die Einsprünge im Delphi-Code umgebogen aber nicht auf eigene Programmebene für alle DLL's
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 2. Apr 2007, 16:16
wir nutzen keine DLL's, von daher...
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 2. Apr 2007, 16:38
Zitat von sh17:
wir nutzen keine DLL's, von daher...
Ist wohl eine Linux-Programm

Der Fehler das Problem kann ja durch unerwartete Daten auf API-Ebene schon auftreten. Und irgendwelche (System-)DLL's läd auch ein Hello-World-Programm.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 2. Apr 2007, 20:27
Also heisst das was? API-Hook?
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 3. Apr 2007, 09:17
Zitat von sh17:
Also heisst das was? API-Hook?
Falls es eine DLL betrifft von dessen Hersteller/Entwickler man keine Vista-Angepaßte Version bekommt: Ja, leider.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 3. Apr 2007, 09:49
Ja sicher, die Funktion CompareString in kernel32.dll. Ob mir da MS einen Patch macht?

Ansonsten nutzen wir zwangsweise nur System-Dlls.

Eigentlich müsste es ja ausreichen, den Einsprungscode in Delphi umzubiegen. Ich möchte ja nur, das WideSameText und WideSameStr (TStringList) wieder richtig arbeiten. Was ein CompareString-Aufruf in irgend einer gelinkten dll zurück bekommt, ist mir eigentlich relativ Schnitte. Betrifft schlimmstenfalls irgend eine GUI-Komponente, aber das ist zu verkraften.
Sven Harazim
--
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 3. Apr 2007, 09:56
Hallo,

den eigentlichen "Fehler" haben leider die VCL-Macher verbrochen. Sie hätten, auch nach dem seinerzeit aktuellen PSDK, einen eigenen Aufruf von CompareString() mit LOCALE_INVARIANT verwenden müssen, anstatt auf ihre lokalisierte Funktion AnsiSameText() zurückzugreifen. Das Thema gehört jetzt wohl nach Delphi-Bugs ...

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 3. Apr 2007, 10:02
Hast Du mal eben den Wert von LOCALE_INVARIANT bei der Hand? Bin grad unter XP und hab da das SDK nicht drauf.

Wieso muss ich immer der Erste sein, bei dem so was passiert.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Probleme mit TStrings.IndexOfName unter Vista

  Alt 3. Apr 2007, 11:06
Zitat von sh17:
Hast Du mal eben den Wert von LOCALE_INVARIANT bei der Hand? Bin grad unter XP und hab da das SDK nicht drauf.


is ja gar keine Konstante. wird mit

(MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT))

erzeugt. hier steht es wie es geht.

//EDIT

Aber leider bringt das nicht wirklich was - immer noch falsch:

Delphi-Quellcode:
function MAKELCID(LangId, SortId: WORD): DWORD;
begin
  Result := (DWORD(SortId) shl 16) or DWORD(LangId);
end;

function MAKELANGID(PrimaryLang, SubLang: Word): WORD;
begin
  Result := (SubLang shl 10) or PrimaryLang;
end;

procedure TForm1.TntButton3Click(Sender: TObject);
const
  NORM_LINGUISTIC_CASING = $08000000;
  LINGUISTIC_IGNORECASE = $10;
  LANG_INVARIANT = $7F;
begin
  if (CompareStringW((MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT)),
                     0,
                     'HÜBNER', Length('HÜBNER'),
                     'HUEBNER', Length('HUEBNER')) - 2) = 0 then
    ShowMessage('Fehler');
end;
Sven Harazim
--
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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