Jump to content











Photo
- - - - -

[Po0stponed] RegWriteBin born missing - Not Full Unicode support


  • Please log in to reply
10 replies to this topic

#1 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 28 February 2010 - 02:55 PM

Hi all,

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 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 28 February 2010 - 03:30 PM

How does you new syntax allow a unicode key name or value name to be specified?

#3 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 28 February 2010 - 05:15 PM

To write to registry, WinBuilder uses two of Billy's API functions:

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 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 28 February 2010 - 06:06 PM

How does you new syntax allow a unicode key name or value name to be specified?

Since there is no method psc found so far, It does not.
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 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 28 February 2010 - 06:17 PM

RegCreateKey only uses ansi strings if RegCreateKeyA is used. If the unicode version RegCreateKeyW is used then that limitation is removed. Anyway RegCreateKeyExA or RegCreateKeyExW should be the version that is used in 32bit programs.

#6 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 28 February 2010 - 06:31 PM

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.

#7 pecd.net

pecd.net

    Silver Member

  • .script developer
  • 947 posts
  •  
    Germany

Posted 28 February 2010 - 06:38 PM

and as i understand nuno, this is what he does not like so much:-))

#8 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 28 February 2010 - 06:56 PM

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.

Both, later Delphi, and port to c++, IMO needs too much work / time etc.

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 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 28 February 2010 - 07:16 PM

But it has to be "In Place", not like suggested,

so you say it is unprogrammable on delphi making winbuilder read following line
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 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 28 February 2010 - 07:26 PM

When making WinBuilder Unicode ready, it must be an universal solution, which can be used in Txt??? commands, Ini??? commands, StrFormat commands, Echo command, and even in If,EQUAL

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 :exclamation:

#11 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 28 February 2010 - 07:36 PM

Should we change all of these commands to the double comma separation (Including converting existing scripts)?

no, you say it is better to create new things that will cause medusas, issues, uncompatibilies

Just to be in this one case, whose use is rather unlikely, on "Future safe" side?

Not with me!

yes, everybody knows bad practices of this.


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

?




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users