But I did a search in the files for "Invalid code page" and I
couldn't find anything ... so I fear I'm barking up the wrong tree
anyway.
But then ... if anybody has an idea, let me know.
I don't believe it's in ICS.
Anyway the easiest way to catch this bug reliable was to include, for
example, MadExcept into your project that the generates a bug report
including a nice stack trace with source code line numbers.
MadExcept comes with its own email clients so the user is able
to send you the bugreport with a single mouse click.
Thanks for the MadExcept tip Arno, I will check it out.
Meanwhile I was searching the net for this errror and I came accross a post:
https://forums.codegear.com/thread.jspa?threadID=9290
Where it said:
"The error is actually coming from Windows, not Delphi,
when TEncoding's constructor passes $FFFF to the Win32 API GetCPInfo()
function and it fails."
So maybe somewhere in the code a wrong codepage is passed this this Win32
API call.
So I searched all files in my project for "GetCPInfo" and compiled this
list:
Searching for: GetCPInfo
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(74): Sep 21, 2008
V1.06 A. Garrels - Compile GetCPInfoEx() conditionally (available since
2009)
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(488): {$EXTERNALSYM
GetCPInfoExA}
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(489): function
GetCPInfoExA(CodePage: UINT; dwFlags: DWORD; var lpCPInfoEx: CPINFOEXA):
BOOL; stdcall;
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(490): {$EXTERNALSYM
GetCPInfoExW}
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(491): function
GetCPInfoExW(CodePage: UINT; dwFlags: DWORD; var lpCPInfoEx: CPINFOEXW):
BOOL; stdcall;
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(492): {$EXTERNALSYM
GetCPInfoEx}
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(493): function
GetCPInfoEx(CodePage: UINT; dwFlags: DWORD; var lpCPInfoEx: CPINFOEX): BOOL;
stdcall;
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(510): function
GetCPInfoExW; external kernel32 name 'GetCPInfoExW';
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(511): function
GetCPInfoExA; external kernel32 name 'GetCPInfoExA';
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(512): function
GetCPInfoEx; external kernel32 name {$IFDEF UNICODE}'GetCPInfoExW' {$ELSE}
'GetCPInfoExA' {$ENDIF};
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(520): Result :=
GetCPInfo(ACodePage, Info);
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(529): if not
GetCPInfo(ACodePage, Info) then
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(593): if
GetCPInfoEx(CP.CodePage, 0, Info) then
Online\ICS2009\Delphi\Vc32\OverbyteIcsCharsetUtils.pas(888): if
GetCPInfo(IcsSystemCodePage, Info) then
Online\ICS2009\Delphi\Vc32\OverbyteIcsStreams.pas(1518): if GetCPInfo(Value,
CPInfo) then begin
Which brings me back to ICS.
Again, I'm not saying it's ICS, I'm just wildly stabbing and kicking at the
moment to catch a straw to grasp on.
Can somebody check this ? I'm not Delphi savvy at all.
Is GetCPInfo() called during construction somehwere ?
How are exceptions handled here ?
Can there be put a try {} catch(...){} around this call (or whatever the
equivalent is in Delphi) ?
PS. I received a second complaint today. Same error.
PS. during reply, can you cc: pe...@smart-projects.net (I'm getting the
daily digest)
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be