Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PosEX dosn't work on 64-bit
#4
(11-30-2023, 10:38 PM)rlebeau Wrote:
(11-30-2023, 11:20 AM)mondoedp Wrote: By example:
PosEx(':','C:\SVN\Mydirectory',3) return 2 (that is the right value if I call PosEx(':','C:\SVN\Mydirectory',1))
while it must return 0 (as 32-bit does).

That is something you need to report to Embarcadero, AToZed has no control over those RTL functions.

FWIW, I can't reproduce what you describe in Delphi 12.  PosEx(':','C:\SVN\Mydirectory',3) returns 0 in 64bit, as expected.

Thanks Remy but, as I said, the normal behavior outside intraweb application works good.

The problem with PosEX happens in IW applications, so it's why I posted here the problem.
Now I'll try the patch as suggested by Jeroen.

Regards.

(12-01-2023, 09:54 AM)jeroen.rottink Wrote: Hi Albert,

Intraweb replaces the RTL functions Pos and PosEx for the 64-bit platform. This is done by IW_ApplyRTLPatch().
Code:
    // Std RTL functions Pos() and PosEx() are EXTREMELLY SLOW on x64
    // This replaces them using the pure pascal FastCode version
    // the new version is 5 to 10 times faster than the RTL version
 
All calls are redirected to IW.Common.Strings.IWPosEx.

That said. I tested it with IW15.4.2 on both 32-bit and 64-bit and both produce 0 as a result.
Calling IWPosEx directly also results in 0.

Attached my testcase.

Thanks Jeroen,
but it still doesn't work.
I think the bug was introduced in 15.5.x (in 15.3.12 it worked for sure).
Do you have the possibility to test your case with 15.5.2?

Regards
Reply


Messages In This Thread
PosEX dosn't work on 64-bit - by mondoedp - 11-30-2023, 11:20 AM
RE: PosEX dosn't work on 64-bit - by rlebeau - 11-30-2023, 10:38 PM
RE: PosEX dosn't work on 64-bit - by mondoedp - 12-01-2023, 11:22 AM
RE: PosEX dosn't work on 64-bit - by mondoedp - 12-01-2023, 05:05 PM
RE: PosEX dosn't work on 64-bit - by mondoedp - 12-11-2023, 01:40 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)