Quantcast

MenuItem problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

MenuItem problem

DiegoC
Hi,
Evaluating the following code in D5 shows a menu with icons, in D6 it
doesn't. Something related to winapi seems to be missed, did anyone fixed
that?

menu := Menu new
        addCommand: #test1 description: 'test1'  image: Object icon;
        yourself.
menu showIn: View active position: 0@0


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Steve Alan Waring
DiegoC wrote:
> Hi,
> Evaluating the following code in D5 shows a menu with icons, in D6 it
> doesn't. Something related to winapi seems to be missed, did anyone fixed
> that?

D6 changed the way it handles menu images from passing in a bitmap in
D5 to using a callback in D6. IMO, the D6 approach is more flexible,
but it does mean that the view needs to be able to locate your menu ...
which it can not in your example.

The following example does work:

shell := ShellView show.
menu := Menu new
        addCommand: #test1  description: 'test1'  image: Object icon;

        yourself.
shell contextMenu: menu.
menu queryAllFromView: shell.
menu showIn: shell position: 0@0

The drawing happens in View>>wmDrawItem:wParam:lParam: and
View>>onDrawMenuItem:, which are sent as a result of D6 setting
HBMMENU_CALLBACK in MENUITEMINFOV5>>commandMenuItem:.

Steve
 --
[hidden email]


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Support at Object Arts
"Steve Alan Waring" <[hidden email]> wrote in message
news:[hidden email]...

>...
> D6 changed the way it handles menu images from passing in a bitmap in
> D5 to using a callback in D6. IMO, the D6 approach is more flexible,
> but it does mean that the view needs to be able to locate your menu ...
> which it can not in your example.
> ...
> The drawing happens in View>>wmDrawItem:wParam:lParam: and
> View>>onDrawMenuItem:, which are sent as a result of D6 setting
> HBMMENU_CALLBACK in MENUITEMINFOV5>>commandMenuItem:.
>

Correct. This was introduced in order to draw properly "grayed" images for
disabled commands (you may have noticed that the menu item images in D5 did
not "gray").

Unfortunately this implementation may need to be changed, since
HBMMENU_CALLBACK currrently works rather poorly on Vista;  it causes the
menus to be "downgraded" to old-style menus that don't look like Vista
themed menus. To make matters worse this is done dynamically so you end up
with a mix of old and new style menus.

Regards

OA


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andreas Wacknitz
"Support at Object Arts" <[hidden email]> schrieb im
Newsbeitrag news:[hidden email]...

> "Steve Alan Waring" <[hidden email]> wrote in message
> news:[hidden email]...
>>...
>> D6 changed the way it handles menu images from passing in a bitmap in
>> D5 to using a callback in D6. IMO, the D6 approach is more flexible,
>> but it does mean that the view needs to be able to locate your menu ...
>> which it can not in your example.
>> ...
>> The drawing happens in View>>wmDrawItem:wParam:lParam: and
>> View>>onDrawMenuItem:, which are sent as a result of D6 setting
>> HBMMENU_CALLBACK in MENUITEMINFOV5>>commandMenuItem:.
>>
>
> Correct. This was introduced in order to draw properly "grayed" images for
> disabled commands (you may have noticed that the menu item images in D5
> did not "gray").
>
> Unfortunately this implementation may need to be changed, since
> HBMMENU_CALLBACK currrently works rather poorly on Vista;  it causes the
> menus to be "downgraded" to old-style menus that don't look like Vista
Does Dolphin X6 already work on Windows Vista? I didn't manage to get it
working.
Neither in 32 Bit Vista nor in 64 Bit Vista. I got always some error like
"illegal memory access"
(I Don't remember the exact error message).

> themed menus. To make matters worse this is done dynamically so you end up
> with a mix of old and new style menus.
>
Regards
Andreas


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Support at Object Arts
"Andreas Wacknitz" <[hidden email]> wrote in message
news:[hidden email]...
>...
> Does Dolphin X6 already work on Windows Vista? I didn't manage to get it
> working.
> Neither in 32 Bit Vista nor in 64 Bit Vista. I got always some error like
> "illegal memory access"
> (I Don't remember the exact error message).

Yes. We haven't tried on 64-bit Vista, but 6.02 installs and runs fine on
x86 Vista RC1. There were compatibility issues with earlier Vista builds,
but it seems MS have fixed all but the cosmetic problems. You may find there
are certain cosmetic issues that require fixes on the Dolphin side as well
(for example the Advanced Find Dialogs need resizing slightly in order to
display correctly). Oh, and you may find there are issues with UAC enabled;
although it does install and run up with UAC, certain operations that
require administrative privileges are going to fail.

Regards

OA


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andreas Wacknitz
"Support at Object Arts" <[hidden email]> schrieb im
Newsbeitrag news:[hidden email]...

> "Andreas Wacknitz" <[hidden email]> wrote in message
> news:[hidden email]...
>>...
>> Does Dolphin X6 already work on Windows Vista? I didn't manage to get it
>> working.
>> Neither in 32 Bit Vista nor in 64 Bit Vista. I got always some error like
>> "illegal memory access"
>> (I Don't remember the exact error message).
>
> Yes. We haven't tried on 64-bit Vista, but 6.02 installs and runs fine on
OK, I have re-installed Windows Vista RC1 64 Bit and can confirm that
Dolphin X6 runs.
What does not work is running "fresh install", thus I am only able to use an
existing image.

Regards,
Andreas


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Support at Object Arts
"Andreas Wacknitz" <[hidden email]> wrote in message
news:[hidden email]...

>
> "Support at Object Arts" <[hidden email]> schrieb im
> Newsbeitrag news:[hidden email]...
>> "Andreas Wacknitz" <[hidden email]> wrote in message
>> news:[hidden email]...
>>>...
>>> Does Dolphin X6 already work on Windows Vista? I didn't manage to get it
>>> working.
>>> Neither in 32 Bit Vista nor in 64 Bit Vista. I got always some error
>>> like "illegal memory access"
>>> (I Don't remember the exact error message).
>>
>> Yes. We haven't tried on 64-bit Vista, but 6.02 installs and runs fine on
> OK, I have re-installed Windows Vista RC1 64 Bit and can confirm that
> Dolphin X6 runs.
> What does not work is running "fresh install", thus I am only able to use
> an existing image.
>

That should work as well. Are you using the latest download?

If it doesn't work, what error/symptoms do you see?

Regards

OA


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andreas Wacknitz
"Support at Object Arts" <[hidden email]> schrieb im
Newsbeitrag news:[hidden email]...

> "Andreas Wacknitz" <[hidden email]> wrote in message
> news:[hidden email]...
>>
>> "Support at Object Arts" <[hidden email]> schrieb im
>> Newsbeitrag news:[hidden email]...
>>> "Andreas Wacknitz" <[hidden email]> wrote in message
>>> news:[hidden email]...
>>>>...
>>>> Does Dolphin X6 already work on Windows Vista? I didn't manage to get
>>>> it working.
>>>> Neither in 32 Bit Vista nor in 64 Bit Vista. I got always some error
>>>> like "illegal memory access"
>>>> (I Don't remember the exact error message).
>>>
>>> Yes. We haven't tried on 64-bit Vista, but 6.02 installs and runs fine
>>> on
>> OK, I have re-installed Windows Vista RC1 64 Bit and can confirm that
>> Dolphin X6 runs.
>> What does not work is running "fresh install", thus I am only able to use
>> an existing image.
>>
>
> That should work as well. Are you using the latest download?
Yes, 6.02 Professional.

>
> If it doesn't work, what error/symptoms do you see?
As I stated in an earlier message: I got an "illegal memory access" message.
This happens during the unlock process when the new image is being created.

Regards
Andreas


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andy Bower
Andreas,
 
> > That should work as well. Are you using the latest download?
> Yes, 6.02 Professional.

There's no reason you should realize this, but there is a newer
download. The *installer* (not the image) is marked as 6.02.3 and it
was uploaded on September 14th. This is basically a "rebuild" of 6.02
so is virtually identical to the original but was intended to fix some
problems where people found some methods were left corrupted after the
unlock process. At the same time we thought we would try to address the
"Fresh Install" issue under Vista.

So, please try downloading the current setup and try installing under
Vista once more. Hopefully this will fix the problem you're seeing.


--
Best regards,

Andy Bower
Dolphin Support
www.object-arts.com


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andreas Wacknitz
"Andy Bower" <[hidden email]> schrieb im Newsbeitrag
news:[hidden email]...

> Andreas,
>
>> > That should work as well. Are you using the latest download?
>> Yes, 6.02 Professional.
>
> There's no reason you should realize this, but there is a newer
> download. The *installer* (not the image) is marked as 6.02.3 and it
> was uploaded on September 14th. This is basically a "rebuild" of 6.02
> so is virtually identical to the original but was intended to fix some
> problems where people found some methods were left corrupted after the
> unlock process. At the same time we thought we would try to address the
> "Fresh Install" issue under Vista.
>
> So, please try downloading the current setup and try installing under
I cannot see a new download on the "My Dolphin" page. The latest is dated
January 27th.

Regards
Andreas


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andy Bower
Andreas,

> > So, please try downloading the current setup and try installing
> > under

> I cannot see a new download on the "My Dolphin" page. The latest is
> dated January 27th.

Because this was meant to be a "hidden" update we didn't change the
date on the download link. We didn't really want loads of people
downloading it and then asking what's different because virtually
nothing has changed. Trust me.. download the current file and check
that when you install the Setup program announces itself as
2006.6.02.3. Then see if it unlocks correctly on Vista; I think it
should.

--
Best regards,

Andy Bower
Dolphin Support
www.object-arts.com


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andreas Wacknitz
"Andy Bower" <[hidden email]> schrieb im Newsbeitrag
news:[hidden email]...

> Andreas,
>
>> > So, please try downloading the current setup and try installing
>> > under
>
>> I cannot see a new download on the "My Dolphin" page. The latest is
>> dated January 27th.
>
> Because this was meant to be a "hidden" update we didn't change the
> date on the download link. We didn't really want loads of people
> downloading it and then asking what's different because virtually
> nothing has changed. Trust me.. download the current file and check
> that when you install the Setup program announces itself as
> 2006.6.02.3. Then see if it unlocks correctly on Vista; I think it
> should.
OK, I have downloaded and installed the new version. In the meantime I have
updated Vista to Build 5728.
Dolphin installation did fine, as the old installer did, too.
Running "Fresh Install" still gives an error. But the new Vista Build does
not tell about the cause.
Just a message box "Dolphin Smalltalk Launcher does not work anymore"
(translated).
I guess it's the same error I had with Build 5600: illegal memory access.
Within the message box I have the possibility to send debug information to
Microsoft.
I did this when I had the first crash some days ago.

Regards
Andreas


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Support at Object Arts
"Andreas Wacknitz" <[hidden email]> wrote in message
news:[hidden email]...

>
> "Andy Bower" <[hidden email]> schrieb im Newsbeitrag
> news:[hidden email]...
>> Andreas,
>>
>>> > So, please try downloading the current setup and try installing
>>> > under
>>
>>> I cannot see a new download on the "My Dolphin" page. The latest is
>>> dated January 27th.
>>
>> Because this was meant to be a "hidden" update we didn't change the
>> date on the download link. We didn't really want loads of people
>> downloading it and then asking what's different because virtually
>> nothing has changed. Trust me.. download the current file and check
>> that when you install the Setup program announces itself as
>> 2006.6.02.3. Then see if it unlocks correctly on Vista; I think it
>> should.
> OK, I have downloaded and installed the new version. In the meantime I
> have updated Vista to Build 5728.
> Dolphin installation did fine, as the old installer did, too.
> Running "Fresh Install" still gives an error. But the new Vista Build does
> not tell about the cause.
> Just a message box "Dolphin Smalltalk Launcher does not work anymore"
> (translated).
> I guess it's the same error I had with Build 5600: illegal memory access.
> Within the message box I have the possibility to send debug information to
> Microsoft.
> I did this when I had the first crash some days ago.

I hate to say this, but "It works for me" (on x86, that is 32-bit, 5600,
running on a dual core machine).

Has anyone else tried this? Maybe if we can get some more cases of
success/failure then we can identify the cause.

Regards

OA


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Steve Alan Waring
> I hate to say this, but "It works for me" (on x86, that is 32-bit, 5600,
> running on a dual core machine).

Also works for me. I installed:
vista_5600.16384.060829-2230_x86fre_client-lr1cfre_en_dvd.iso. Machine
is a Dell Dimension, Pentium 4 3Ghz, 1.5Gb RAM, NVIDIA GeForce FX 5200.
English-Au locale. I did a normal install on a spare partition.

D6.02 Fresh install worked fine, a well worn image from XP fired up
fine, and apps deployed with D5.1.5 and D5.1.4 run fine ... although I
have not done any real tests.

Steve
 --
[hidden email]


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MenuItem problem

Andreas Wacknitz
In reply to this post by Support at Object Arts
"Support at Object Arts" <[hidden email]> schrieb im
Newsbeitrag news:[hidden email]...

> "Andreas Wacknitz" <[hidden email]> wrote in message
> news:[hidden email]...
>>
>> "Andy Bower" <[hidden email]> schrieb im Newsbeitrag
>> news:[hidden email]...
>>> Andreas,
>>>
>>>> > So, please try downloading the current setup and try installing
>>>> > under
>>>
>>>> I cannot see a new download on the "My Dolphin" page. The latest is
>>>> dated January 27th.
>>>
>>> Because this was meant to be a "hidden" update we didn't change the
>>> date on the download link. We didn't really want loads of people
>>> downloading it and then asking what's different because virtually
>>> nothing has changed. Trust me.. download the current file and check
>>> that when you install the Setup program announces itself as
>>> 2006.6.02.3. Then see if it unlocks correctly on Vista; I think it
>>> should.
>> OK, I have downloaded and installed the new version. In the meantime I
>> have updated Vista to Build 5728.
>> Dolphin installation did fine, as the old installer did, too.
>> Running "Fresh Install" still gives an error. But the new Vista Build
>> does not tell about the cause.
>> Just a message box "Dolphin Smalltalk Launcher does not work anymore"
>> (translated).
>> I guess it's the same error I had with Build 5600: illegal memory access.
>> Within the message box I have the possibility to send debug information
>> to Microsoft.
>> I did this when I had the first crash some days ago.
>
> I hate to say this, but "It works for me" (on x86, that is 32-bit, 5600,
> running on a dual core machine).
Finally it works for me, too (64-bit, 5744 aka RC2).

Regards
Andreas


Loading...