News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

weird problem with dialog

Started by Slugsnack, July 11, 2009, 12:43:44 PM

Previous topic - Next topic

Slugsnack

hey guys..

just been working on this proggie for about a day. i coded it on windows server 2008 and it works fine there but when i went to test it on 2 other XP machines the dialog never runs. dialogboxparam returns -1 which indicates an error but getlasterror returns ERROR_SUCCESS ?!

i just uploaded the whole project here :

- ask if you wanna see the project, decided against making that webspace public -

any ideas ?!

Jimg


Mark Jones

Compressed with method "m0"? At first, 7-Zip didn't want to open it when shelled from the web browser. I had to manually track down the .zip and open it, to be able to extract anything from it. Weird... My fault, file permissions error.

Other than that, it works here (XP Pro x64 SP2.) Slightly-transparent main window.
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

BlackVortex

Does nothing on my XP, works on my virtual Vista.

Maybe your WM_INITDIALOG fails and the dialogue initialization stops. If you can't get it to work, I can post my transparency method.

Slugsnack

it's so weird ! when i debugged it on one of my xp machines, the WM_INITDIALOG case was never executed. so it works for some of you guys but not for blackvortex or me. there must be a reason.. hmmmmmmmm

Jimg

I tried the exe on 4 different computers, 3 xp sp2, 1 windows 7.  Only one of the xp's failed.  I'll load the programming stuff on it and see if I can spot the problem.

Astro

Hi,

I re-built it, ran it and got nothing.

Just check I did build it right though. :)
ml /c /coff /Cp pas.asm
link /SUBSYSTEM:WINDOWS /LIBPATH:G:\MASM32\LIB PAS.OBJ


WinXP SP3

Jimg

#7
I can tell you that if I comment out two lines in the rc file, it runs on the machine that was having the problem.

The first line is the manifest line-

;1 24 "Manifest.xml"

and the second is the syslistview line-

; CONTROL "",IDC_LSV1,"SysListView32",WS_VISIBLE|LVS_SORTASCENDING|LVS_REPORT,6,6,90,99,WS_EX_CLIENTEDGE


With either of these lines enabled, the dialog proc get exactly three messages before the program dies-
  a  SETFONT, a DESTROY, and an NCDESTROY

Slugsnack

i think it has something to do with the manifest. i just created a separate project but used the same way of including the manifest and it also doesn't work on XP

dedndave

hmmmm
maybe that is the dialog for an "insufficient access rights" message - lol
could be that the manifest needs to be different for vista than for xp ?
or, at least, the manifest needs to be carefully designed to be compatible with both xp and vista

Mark Jones

Quote from: Jimg on July 11, 2009, 07:14:48 PM
;1 24 "Manifest.xml"

Hi Jim, is ";" a valid comment in .rc files? I thought it technically should be "//".  (Grumble grumble abstraction grumble assembler-front-end-for-MSVC grumble can't make up their minds what format(s) to use grumble different-for-every-assembler grumble uniformity is underrated...)
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

BlackVortex

Quote from: Mark Jones on July 12, 2009, 04:48:48 AM
is ";" a valid comment in .rc files? I thought it technically should be "//". 
It is valid, yes, maybe both are.

Jimg

Sorry Mark, I just did it out of habit and it worked, and I didn't think any more about it.  I Can't find that it works documented anywhere.

akane

Hello, on XP you MUST call at least InitCommonControls, if your using commctl 6 manifest. I'm surprised that above XP it is working without this call.

dedndave

ms says InitCommonControls is obsolete - use InitCommonControlsEx
QuoteUnder Comctl32.dll version 5.x, only Microsoft Windows 95 classes (ICC_WIN95_CLASSES) can be registered through InitCommonControls. Programs which require additional common control classes must use the InitCommonControlsEx function.

Under Comctl32.dll version 6.0 and later, InitCommonControls does nothing. Applications must explicitly register all common controls through InitCommonControlsEx.

InitCommonControlsEx is a bit more complicated, of course
is this needed whenever you have a manifest of any kind ?