[Po0stponed] RegWriteBin born missing - Not Full Unicode support
#1
Posted 28 February 2010 - 02:55 PM
unicode support (or better say binary support) was one of the things I requested and boxed for wb with RegWriteBin,
(I decide to write these since I do not want LIES written about my requests in future.)
but sadly RegWriteBin born missing (and I do not have any fault on that with the known things continously happened during last development),
I informed development some days ago saying;
"Since RegWriteBin is a new command ('ve never used)
and since RegWriteBin is critically important for unicode support,
at least syntax should change quickly (with any model that results stable) with a new release
so there will not be a workaround or code writings for backward compatibility (speed) needed in future."
I requested current syntax change from this
RegWriteBin[Ex],HKLM,0x?,Section,Key,53,00,55,00,00,00
to
RegWriteBin[Ex],HKLM,0x?,Section,,Key,,53,00,55,00,00,00
(and naturally)
RegReadBin,HKLM,Section,Key,%var%
to
RegReadBin,HKLM,Section,,Key,,%var%
As usual these days, ignored.
Shortly:
For now,
winbuilder have binary (unicode) support for "Value Data" which I guess fits most of the requirements.
winbuilder do not have binary (unicode) support for "Value Name" AND "Key"
This will verrrrrry mostly (maybe %99...) will not cause trouble, but better an info written somewhere on boot-land.
With other words: wb do not have full binary (unicode) support but almost full with knowing most unicode values exists in "Value Data"..
An example registry to test here (I currently do not know living example)
Above syntax request may still be used on further versions of wb by supporting previous (wb080) syntax.
Further decisions up to development.. What ever they decide..
#2
Posted 28 February 2010 - 03:30 PM
#3
Posted 28 February 2010 - 05:15 PM
RegCreateKey and RegSetValueEx
As to be seen, the API functions need pointers to ANSI strings.
Why to define in the RegWriteBin command unicode key and value names, when they cannot be used to write?
When a hand-edited sample using regedit or reg, brings the expected result, nice!
Then the Shellexecute can be used to write such a entry.
Peter
#4
Posted 28 February 2010 - 06:06 PM
Since there is no method psc found so far, It does not.How does you new syntax allow a unicode key name or value name to be specified?
New syntax leaves "The Gap" that can be used easly without trouble in future.
Maybe one day a coder come with a solution and wb would already be ready for the additions without needing new syntaxes or speed down things etc........
Anyway, since decisions already made nothing to talk about.
#5
Posted 28 February 2010 - 06:17 PM
#6
Posted 28 February 2010 - 06:31 PM
One way to support that without switching to a later version of Delphi, which is not exactly free, would be to recode the script engine in c++ using the free MS express compiler and package in a separate dll that the winbuilder invokes.
That would also give the benefit that other developers could develop there own versions of the UI.
#7
Posted 28 February 2010 - 06:38 PM
#8
Posted 28 February 2010 - 06:56 PM
Both, later Delphi, and port to c++, IMO needs too much work / time etc.Full unicode support is supporting scripts written in unicode!
One way to support that without switching to a later version of Delphi, which is not exactly free, would be to recode the script engine in c++ using the free MS express compiler and package in a separate dll that the winbuilder invokes.
That would also give the benefit that other developers could develop there own versions of the UI.
So we have to find a way to pass unicode parameters to WB.
But it has to be "In Place", not like suggested, as additional parameter.
E.g:
ScriptCommand,param1,(22|00|31|00|00|00),param3, ...
Currently there are in LiveXP only 3 occurences of ,(
,(None)
,(hd0#$c0)
,(hd0)
And when WB checks for the structure of hex digits separated by |, it is safe.
There could be a integrated tool, maybe a c++ dll which converts unicode strings to this binary format.
Just my brainstorming, final decision is at Nuno.
Peter
#9
Posted 28 February 2010 - 07:16 PM
so you say it is unprogrammable on delphi making winbuilder read following lineBut it has to be "In Place", not like suggested,
RegWriteBin[Ex],HKLM,0x?,15,45,87,52,12,78,,22,00,31,00,00,00,,53,00,55,00,00,00
seperating values
15,45,87,52,12,78
22,00,31,00,00,00
53,00,55,00,00,00
to be used on further operations.
Instead you prefer an uncompatible new syntax which already seems causing new escapes and probable medusas...... nice.
#10
Posted 28 February 2010 - 07:26 PM
Should we change all of these commands to the double comma separation (Including converting existing scripts)?
Just to be in this one case, whose use is rather unlikely, on "Future safe" side?
Not with me!
Peter
#11
Posted 28 February 2010 - 07:36 PM
no, you say it is better to create new things that will cause medusas, issues, uncompatibiliesShould we change all of these commands to the double comma separation (Including converting existing scripts)?
yes, everybody knows bad practices of this.Just to be in this one case, whose use is rather unlikely, on "Future safe" side?
Not with me!
anyway,
is following fits your concerns and have a possibility to work ?
[variables] %key%=15,45,87,52,12,78 %value%=22,00,31,00,00,00 [process] RegWriteBin[Ex],HKLM,0x?,%key%,%value%,53,00,55,00,00,00
or this
[variables] %key%=15#$c45#$c87#$c52#$c12#$c78 %value%=22#$c00#$c31#$c00#$c00#$c00 [process] RegWriteBin[Ex],HKLM,0x?,%key%,%value%,53,00,55,00,00,00
?
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users