﻿<feed xmlns="http://www.w3.org/2005/Atom"><id>http://news.xb2.net/ot4xb.snapshots</id><title>ot4xb.snapshots (readonly)</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots" type="text/html" /><link rel="self" href="http://news.xb2.net/atom/ot4xb.snapshots" type="application/atom+xml" /><updated>2008-11-21T18:12:36Z</updated><generator uri="http://www.mssagepixels.com">MPNews</generator><entry><title type="text">ot4xb - Build: 1_5_1_29</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/1/ot4xb+-+Build%3a+1_5_1_29.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/1/ot4xb+-+Build%3a+1_5_1_29.html</id><published>2008-06-06T12:44:50Z</published><updated>2008-06-06T12:44:50Z</updated><author><name>Pablo Botella</name><email>pbn_NOSPAM_@pablob.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build: 1_5_1_29&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build: 1_5_1_42</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/2/ot4xb+-+Build%3a+1_5_1_42.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/2/ot4xb+-+Build%3a+1_5_1_42.html</id><published>2008-06-06T12:46:31Z</published><updated>2008-06-06T12:46:31Z</updated><author><name>Pablo Botella</name><email>pbn_NOSPAM_@pablob.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build: 1_5_1_42&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build: 1_5_1_251</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/3/ot4xb+-+Build%3a+1_5_1_251.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/3/ot4xb+-+Build%3a+1_5_1_251.html</id><published>2008-07-14T10:16:23Z</published><updated>2008-07-14T10:16:23Z</updated><author><name>Pablo Botella</name><email>pbn_NOSPAM_@pablob.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build: 1_5_1_251&lt;/pre&gt;</content></entry><entry><title type="text">XppXbk.exe - Build 1.0.17</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/4/XppXbk.exe+-+Build+1.0.17.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/4/XppXbk.exe+-+Build+1.0.17.html</id><published>2008-07-31T21:22:45Z</published><updated>2008-07-31T21:22:45Z</updated><author><name>Pablo Botella</name><email>pbn_NOSPAM_@pablob.com</email></author><content type="html">&lt;pre&gt;XppXbk.exe - Build 1.0.17&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build: 1_5_2_2</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/5/ot4xb+-+Build%3a+1_5_2_2.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/5/ot4xb+-+Build%3a+1_5_2_2.html</id><published>2008-08-07T11:54:25Z</published><updated>2008-08-07T11:54:25Z</updated><author><name>Pablo Botella</name><email>pbn_NOSPAM_@pablob.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build: 1_5_2_2
-------------------------------
BUG FIX
cAnsiToUtf8( cAnsi ) -&amp;gt; cUtf8
cUtf8ToAnsi(cUtf8) -&amp;gt; cAnsi
Fixed wrong behavior converting from/to ansi to utf8. Characters &amp;gt; 0xB0 was converted to 0x00 and also the utf8 string was truncated.
-------------------------------
NEW FUNCTIONS
cOemToUtf8(cOem) -&amp;gt; cutf8
cUtf8ToOem(cUtf8) -&amp;gt; cOem&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build: 1_5_2_54</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/6/ot4xb+-+Build%3a+1_5_2_54.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/6/ot4xb+-+Build%3a+1_5_2_54.html</id><published>2008-08-30T21:06:44Z</published><updated>2008-08-30T21:06:44Z</updated><author><name>Pablo Botella</name><email>pb_REMOVE_ALL_BETWEN_UNDERSCORES_@_REMOVE_THIS_xbwin.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build: 1_5_2_54&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build:1_5_2_79</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/7/ot4xb+-+Build%3a1_5_2_79.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/7/ot4xb+-+Build%3a1_5_2_79.html</id><published>2008-09-12T20:25:32Z</published><updated>2008-09-12T20:25:32Z</updated><author><name>Pablo Botella</name><email>pb_no_spam_@_remove_all_betwen_underscores_xbwin.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build:1_5_2_79
-------
FIXED: 
Reduced the number of collisions in cGenRndStr()&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build:1_5_2_139</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/8/ot4xb+-+Build%3a1_5_2_139.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/8/ot4xb+-+Build%3a1_5_2_139.html</id><published>2008-09-18T12:40:54Z</published><updated>2008-09-18T12:40:54Z</updated><author><name>Pablo Botella</name><email>pb_no_spam_@_remove_all_betwen_underscores_xbwin.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build:1_5_2_139
--------------------------------
ENHANCEMENT:
New behavior for functions nFpCall(), ndFpCall(), qwFpCall() , FpQCall() and DLL...IMPORT and @dllname:function() commands

In previous versions when these functions was called using and empty function pointer ( or an invalid dll/funcname pair ) the return value was always NIL without attempt to call the function pointer or throw any error , however DLL...IMPORT and @dllname:function() commands was including some error handling when the OT4XB_DEBUG was defined or when the OT4XB_ASSERT_LEVEL was defined to 3 or higher.

From this build an internal errorhandling is added issuing when attemp to call these functions providing an empty function pointer or an invalid dll/function pair.

This errorhandling mechanism is now enabled by default and can de disabled using the new function
SET_FPCALL_FLAGS( nFlags ) -&amp;gt; nOld  // Global scope ( all threads using the same value)
The default value is 1 ( activated )
--------------------------------
PREPROCESSOR BUG FIXED : Conflict with the .NOT. operator and the WITH OBJECT commands
( Thanks to Andreas Gehrs-Pahl )
Some expresions like this:
if .not. ::lOk
was wrongly preprocessed to 
if .notWithObjectStackTop:lOk

Really seems to be an Xbase++ preprocessor bug as this only occurs for the .not. operator while .and. .or. operators was not affected

In any case this is NOW FIXED with a small workarround added inside ot4xb.ch
---------------------------------
COMPATIBILITY ISSUE FIXED:  ot4xb.ch conflict with Thomas Braun's regclass.ch
( Thanks to Jimmy ( AUGE_OHR) )
Both ot4xb.ch and RegClass.ch uses some #defines from the winapi so the preprocessor report some warnings like this

warning XBT0110: Redefinition or duplicate definition of
#define  STANDARD_RIGHTS_READ

Currently added some #ifndef inside ot4xb.ch to avoid these warnings, however you must include RegClass.ch before ot4xb.ch 
-----------------------------------&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build:1_5_2_152</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/9/ot4xb+-+Build%3a1_5_2_152.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/9/ot4xb+-+Build%3a1_5_2_152.html</id><published>2008-09-24T12:28:20Z</published><updated>2008-09-24T12:28:20Z</updated><author><name>Pablo Botella</name><email>pb_no_spam_@_remove_all_betwen_underscores_xbwin.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build:1_5_2_152
------------------------------------
NEW FUNCTIONS:

Delegated_FpQCall( ... params ... )
Same params as FpQCall()
Do FpQCall() with the provided params in the thread previously registered with 
ot4xb_Register_Delegate_hWnd( ) 
( SetAppWindow() if none is registered )
------------------------------------
ot4xb_Register_Delegate_hWnd( hWnd | oXbp )
Register the thread that holds hWnd ( or the Xbase++  GUI thread if a XBP is provided)
to perform thread delegate calls.&lt;/pre&gt;</content></entry><entry><title type="text">ot4xb - Build 001_005_002_204</title><link rel="alternate" href="http://news.xb2.net/ot4xb.snapshots/10/ot4xb+-+Build+001_005_002_204.html" type="text/html" /><id>http://news.xb2.net/ot4xb.snapshots/10/ot4xb+-+Build+001_005_002_204.html</id><published>2008-10-01T16:07:44Z</published><updated>2008-10-01T16:07:44Z</updated><author><name>Pablo Botella</name><email>pb_no_spam_@_remove_all_betwen_underscores_xbwin.com</email></author><content type="html">&lt;pre&gt;ot4xb - Build 001_005_002_204

Enhancement:
------------------
cPrintf() function now has no character limit
in previous version the limit was 1024 chars.
------------------&lt;/pre&gt;</content></entry></feed>