Are both A and W versions needed in Windows API declares

Only truly ancient versions of Windows (95/98/ME) lack the Wide versions. Modern editions of Windows (2000, XP, Vista, and newer) will always have them.

Cargo cult programming. There’s a ton of old example code on the forums and elsewhere (e,g. the Windows Functionality Suite) that does this, and people just copy and paste or emulate it without understanding. It’s perfectly safe, but it’s no longer useful.

Just use a thesaurus. Ignorant literally means. “lacking knowledge or awareness in general” as in “Dont know or sometimes forget” It is a perfect use of the adjetive, why do you take as someone being agressive?

Not allways…

The use of A and W is not allways just a OS version thing. It also depends on the app itself. In theory, Windows allows apps to be just Ansi. If some app was created with pure Ansi calls, even if the OS supports the W calls, in theory the app will only work ok with the A ones.

Lets hope Xojo uses 100% W calls and you can be safe using only the W ones.

[quote=468398:@Ivan Tellez]The use of A and W is not allways just a OS version thing. It also depends on the app itself. In theory, Windows allows apps to be just Ansi. If some app was created with pure Ansi calls, even if the OS supports the W calls, in theory the app will only work ok with the A ones.

Lets hope Xojo uses 100% W calls and you can be safe using only the W ones.[/quote]
That doesn’t sound right to me.
From all the information I can find, it’s ALL about the version of Windows that you’re targeting. If it’s Windows2000 or anything after, the W version should be all you need. I can find NO evidence anywhere that suggests that the A version has been needed since Win95 went out of fashion, and yet programmers continue to include both versions of the calls in their code. If there is a valid reason for this, I cannot figure out what it is.
I’m only referring to external dill calls, which have nothing at all to do with what Xojo is written in, so I have no idea what you are suggesting in your answer.

Never said “I don’t know”, IF I have said it, I could be. I don’t lack the knowledge. (IN - Not, GNOSCERE - To know)

The fact that I “forget” is because I don’t support any software below Win7, and don’t know anyone who supports too, but I KNOW that few people do it for some unknown/historical reasons.

As has already been mentioned.

Use W unless you want to code for Win95/98/Me or older where it’s not guaranteed that the Unicode update has been installed, every OS since has native support for Unicode so using W is best and using A on those systems will incur an overhead of a conversion from ANSI to Unicode. As modern Xojo doesn’t support those platforms anyway, you’re fine just using W. Any calls that don’t have a A/W variant will be newer calls and will be Unicode anyway.

Apps can be compiled for ANSI/Unicode where you would need to use the correct calls for the binary type but as Xojo produces Unicode binaries W is recommended.

As for why people still code for W/A, requirements/habit/lack of understanding/legacy code I guess.