News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

1st steps, 1st problem

Started by SHDA, January 31, 2015, 06:13:07 PM

Previous topic - Next topic

ragdog

QuoteQuote from: ragdog on Today at 02:53:27 AM

    I have test it but i have add "Αλέξανδρος" manually to the resource and save it to Unicode and it works
    I think Radasm (RaRes) support not unicode but im not sure.

Tell me, under which IDE or else you have compile this by this way ?
I have already done this (in RADasm) but with no success there.

I have manuelly change your resource with Notepad to your Greek Lang
save it to unicode and you can compile it with radasm but the RaResedior support not unicode and you can not change the resource
in Radasm.

The other way is use a other Reseditor like (http://www.resedit.net/) and save your unicode resource in your project and compile your project with Radasm


SHDA

jj2007,
there is no Office installation in my virtual system.
Is running under VMware version 11 and is a vanilla
installation of Windows 7 x64 Enterprise with SP1.
I think the missing .dll is related to library calls of a
missing library or include files that not exists in my
system but they may exists in yours. Your build-ready
WinGreek.exe is running here without missing files or
.dlls. So i am sure that it is a matter of compilation run time.
UNIEDIT is running without any requirements or errors.

SHDA

Quote from: ragdog on February 01, 2015, 09:27:13 PM
I have manuelly change your resource with Notepad to your Greek Lang
save it to unicode and you can compile it with radasm but the RaResedior support not unicode and you can not change the resource in Radasm.
I think we are too close to find what is the difference between our systems:

I have done the same through Windows 7 Notepad, just with one difference: the file was saved as UTF-8 not as UNICODE.
Which version of RADasm do you have ?
What version of Windows do you have ?
Which font are you using in Notepad  and what is your font SCRIPT language ?
Are you using MASM32 SDK 11 assembler or other (such jWASM or else) ?

SHDA

Quote from: ragdog on February 01, 2015, 09:27:13 PM
The other way is use a other Reseditor like (http://www.resedit.net/) and save your unicode resource in your project and compile your project with Radasm
As i am using an OFFLINE virtual system under VMware 11, ResEdit needs to be online to dload it.
Have you got an OFFLINE solution for it ?

ragdog

I use

-last Masm32 v11
-Last Radasm3 version
-Win7 x86

Your can see it in the Attach


QuoteAs i am using an OFFLINE virtual system under VMware 11, ResEdit needs to be online to dload it.
Have you got an OFFLINE solution for it ?

Download from your host System and copy it in your VM

SHDA

Quote from: ragdog on February 01, 2015, 10:07:03 PM
Download from your host System and copy it in your VM
It took me 45 minutes to clear this shit from my system even if i've got
Revo Uninstaller and jv16 PowerTools 2014. And i still got shits in my
browser that i can't unload!!!!!
Do not re-propose this intallation to anyone unless you want to make
someone to reinstall Windows! In fact do not propose any kind of such
kind of installation that you haven't installed in your own system at first.
I have to reinstall my Windows!
:icon13: :icon13: :icon13: :icon13: :icon13: :icon13: :icon13: :icon13: :icon13:

ragdog

Ohh i have see the last version of Resed installer install adware sorry i have use it for a long time and it was portable

jj2007

Quote from: SHDA on February 01, 2015, 09:27:48 PM
jj2007,
there is no Office installation in my virtual system.
Is running under VMware version 11 and is a vanilla
installation of Windows 7 x64 Enterprise with SP1.
I think the missing .dll is related to library calls of a
missing library or include files that not exists in my
system but they may exists in yours.

Really odd, especially since the "missing" dll is nowhere on my system. In case you find a Rich*.dll somewhere in C:\Program Files (x86)\Common Files\microsoft shared, try to disactivate it, thus forcing the C:\Windows version. But don't invest time, I guess you have enough work already... ;-)

hutch--

My Win7 64 Ultimate has riched20.dll in the Windows\system32 directory at 473600 bytes.

jj2007

Quote from: hutch-- on February 02, 2015, 12:35:32 AMMy Win7 64 Ultimate has riched20.dll in the Windows\system32 directory at 473600 bytes.

Thanks, Hutch. Exactly the same for me on Win7-64 Home Premium, dated 21 Nov 2010. AFAICS the problem is with one of the Common Files\... versions, which work fine on my PC with the free Office starter edition installed. RichMasm picks its DLL as follows:
  mov esi, Chr$("\Masm32\bin\RichEd20.dll")      ; user's favourite
  .if !Exist(esi)
      GetFiles ExpandEnv$("%CommonProgramFiles%\Microsoft Shared\RichEd20.DLL", 1)
      mov esi, offset LibName      ; System32\RichEd20.dll, default if no Office folders found (very slow, factor 32)
      .if eax      ; Sf triggers ## Warning: file size and date invalid
            SortFiles name      ; Office11 is better than Office12/14 - seconds to load 20k lines:
            Let esi=Files$(0)      ; Win7-32: O11: 0.64, O12: 0.78, O14: 0.82, System32 21.0
      .endif      ; Win7-64: O14: 0.7, System32 18.0
  .endif
  invoke LoadLibrary, esi


Looks complicated, but the load times for the System32 version are just too bad :(

And I just found an old comment in the source:
Office 12 needs C:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSPTLS.DLL in the RichMasm folder, and is slower

This hotfix is not working on my two machines (XP and 7-64), so it seems the best option is to disactivate C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\RichEd20.DLL if present. Of course, we all have learnt that the RichEdit control is a misbehaved pig, but on the other hand, once you know its bugs, pardon: features, it does a very good job.

MichaelW

My Windows 8.1 has riched20.dll in the Windows System32 directory, version 3.1, 638464 bytes, and also riched32.dll, a wrapper DLL for RichEdit 1.0. It has some version of MSO installed but I did not bother with checking the version.
Well Microsoft, here's another nice mess you've gotten us into.

jj2007

Quote from: MichaelW on February 02, 2015, 04:34:36 AMMy Windows 8.1 has riched20.dll in the Windows System32 directory, version 3.1, 638464 bytes

Interesting. Half way between the Win7-64 default 473600 bytes and C:\Program Files (x86)\Common Files\microsoft shared\Office11\RichEd20.dll at 925k...

SHDA

After i tried the http://www.resedit.net/ online installation
i had to re-install Windows from scratch. Done! Back again.

Sorry to interrupt your further matters but i have to RESUME this thread:
(For my question) the conversation spotted the Resource Editor incapability
to produce unicode characters that refers to other languages than english,
as 1st option, and the programmable 2nd option to do it by using include
files while linking and/or by saving the source in unicode/utf-8 file format
depending of the known assembly IDE's capabilities or restrictions or faults.

As for the visual option:
I found this http://www.resource-builder.com/. I haven't try it yet
to include what it creates in an assembly project but indeed contains visible
unicode characters related in many spoken/written languages. Once i will
become capable to manage with comfort assembly code projects and include
files, i will try it. In the meanwhile i will try to experiment with all of your
suggestions, except online installations off course.

Sure your options are related to your opinions/experience but i prefer (while
learning as a newbie or not
) to excaust all cases so to be able to understand,
learn so then, to be able to choose the most fast and suitable programming way
to do the same thing. As an example,
(in Delphi) i've got more fast and real multitasking results in any loop as i
used goto ... label statements by increasing manually the counter, instead
to use the standard-cllassic but slower loop of for 1 to sizeOf that freezes
the CPU, no mouse click etc, till finishes it's job.

Comment:
Also, as a conclussion:
it is pitty that there is no real UNICODE enviroment.
I can't do it right now as i luck of assembly knowliedge
but it is so simple for a programm to set on behalf of the
user:
This character belongs to this code-page language, set it!
and let the programmer to thing about the flow, the structure.