June 01, 2011 Re: how to get the local? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | Thanks for the quick answers hey! Another quick one (it's time to go to work for me!) Does this lib contains the MSI function? "Andrej Mitrovic" wrote in message news:mailman.518.1306939098.14074.digitalmars-d-learn@puremagic.com... >From what I can tell you're using the wide version, so try prototyping it as GetUserDefaultLocaleNameW <- note the W Otherwise you should really get http://dsource.org/projects/bindings/wiki/WindowsApi , which has prototypes for many windows functions. You just have to build and use it with --version=Unicode if you want GetUserDefaultLocaleName to alias itself to GetUserDefaultLocaleNameW. |
June 01, 2011 Re: how to get the local? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | Thanks, I'll have a look tonight! "Steven Schveighoffer" wrote in message news:op.vwezfbqmeav7ka@localhost.localdomain... On Wed, 01 Jun 2011 16:13:44 -0400, Lloyd Dupont <ld-REMOVE@galador.net> wrote: Here is my new theory -- note that the function is only defined on Vista or later. DMD does not use the same object format as Windows (i.e. Visual C++), so all libraries have to be "converted" to a form that dmd can link with. Most of the relevant Windows lib files are already pre-converted and included in the dmd distribution under windows/lib. I'd bet that the version of kernel32.lib that was used to generate this file is an XP version, which would not contain this function. I'd recommend investigating how to replace that kernel32.lib with the Vista (or later) version (I'm sure someone will tell you here ;) or try using the predecessor function, which should be universally compatible (See the above noted documentation). |
June 01, 2011 Re: how to get the local? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On 6/1/11, Steven Schveighoffer <schveiguy@yahoo.com> wrote:
> On Wed, 01 Jun 2011 16:38:05 -0400, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:
>
>> I beat you Steven!!
>>
>> :P
>
> According to my newsreader and webnews, I beat you by 2 seconds:
>
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.learn&article_id=27286
>
> From Andrej Mitrovic <andrej.mitrovich@gmail.com>
> Date Wed, 1 Jun 2011 22:34:15 +0200
>
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.learn&article_id=27285
>
>
> From Steven Schveighoffer <schveiguy@yahoo.com>
> Date Wed, 01 Jun 2011 16:34:13 -0400
>
> Note also the ordering of the article ids ;)
>
> so THERE!
>
> -Steve
>
Well, I'll have to write a formal complaint to Google for making me believe I've won this battle.
Tip o' the hat to you, Sir.
|
June 02, 2011 Re: how to get the local? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | "Andrej Mitrovic" <andrej.mitrovich@gmail.com> wrote in message news:mailman.521.1306960464.14074.digitalmars-d-learn@puremagic.com... > >From my understanding of this page > http://msdn.microsoft.com/en-us/library/dd318136%28v=vs.85%29.aspx : > > "Note The application should call this function in preference to GetUserDefaultLCID if designed to run only on Windows Vista and later." > > It's not in kernel32.lib distributed with DMD. You would have to create an OMF import lib by calling implib /system kernel32.dll (your own kernel32.dll) if you're actually using Vista or a newer OS and then linking with that. But you can say goodbye to supporting Windows older than Vista. > > OTOH GetUserDefaultLCID /is/ in the kernel32.lib distributed with DMD. So why not use that? Lloyd, if the program you're writing is designed to be sold or distributed to the public then I'd highly recommend against doing anything that requires at least Vista. From what I've heard, the adoption rates of Vista and Win7 haven't been very good and about half of the Windows systems out there are still XP and pretty much holding there. A *lot* of Windows users are deliberately sticking with XP, and you'll be loosing a lot of people. Of course, if your software is only designed to be used internally by some company, or just for you own use, etc., then obviously it doesn't matter... |
June 02, 2011 Re: how to get the local? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky Attachments:
| On Thu, Jun 2, 2011 at 12:23 AM, Nick Sabalausky <a@a.a> wrote:
> "Andrej Mitrovic" <andrej.mitrovich@gmail.com> wrote in message news:mailman.521.1306960464.14074.digitalmars-d-learn@puremagic.com...
> > >From my understanding of this page
> > http://msdn.microsoft.com/en-us/library/dd318136%28v=vs.85%29.aspx :
> >
> > "Note The application should call this function in preference to GetUserDefaultLCID if designed to run only on Windows Vista and later."
> >
> > It's not in kernel32.lib distributed with DMD. You would have to create an OMF import lib by calling implib /system kernel32.dll (your own kernel32.dll) if you're actually using Vista or a newer OS and then linking with that. But you can say goodbye to supporting Windows older than Vista.
> >
> > OTOH GetUserDefaultLCID /is/ in the kernel32.lib distributed with DMD. So why not use that?
>
> Lloyd, if the program you're writing is designed to be sold or distributed
> to the public then I'd highly recommend against doing anything that
> requires
> at least Vista. From what I've heard, the adoption rates of Vista and Win7
> haven't been very good and about half of the Windows systems out there are
> still XP and pretty much holding there. A *lot* of Windows users are
> deliberately sticking with XP, and you'll be loosing a lot of people.
>
> Of course, if your software is only designed to be used internally by some company, or just for you own use, etc., then obviously it doesn't matter...
>
>
> Actually, Windows 7 is growing somewhat exponentially and XP is falling,
though that fall isn't accelerating too rapidly. However, XP still sits at around 45%.
|
June 02, 2011 Re: how to get the local? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | Yes and no! On one hand I'm a fervent believer of all things Windows 7! :P On the other hand my (learning) D project is about writing an installer. Which should just work with no unexpected dependencies! I was telling to myself earlier today too that I should not use this function, just in case! :) "Nick Sabalausky" wrote in message news:is770e$1a00$1@digitalmars.com... "Andrej Mitrovic" <andrej.mitrovich@gmail.com> wrote in message news:mailman.521.1306960464.14074.digitalmars-d-learn@puremagic.com... > >From my understanding of this page > http://msdn.microsoft.com/en-us/library/dd318136%28v=vs.85%29.aspx : Lloyd, if the program you're writing is designed to be sold or distributed to the public then I'd highly recommend against doing anything that requires at least Vista. From what I've heard, the adoption rates of Vista and Win7 haven't been very good and about half of the Windows systems out there are still XP and pretty much holding there. A *lot* of Windows users are deliberately sticking with XP, and you'll be loosing a lot of people. Of course, if your software is only designed to be used internally by some company, or just for you own use, etc., then obviously it doesn't matter... |
Copyright © 1999-2021 by the D Language Foundation