Eiffelvisin2 and Windows style

11 messages Options
Embed this post
Permalink
andersoxie-2

Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink
Hej

I am wondering how I should do to change the look of my vision 2 programs. At the moment the look "old" but I see in the visin 2 demo application that is looks nicer. However, when generating code from the vision 2 demo nad then complia the project I get the old style.


Regards

Anders

larryliuming

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink


Hi, Anders,

To use new Windows Style (actually newer version Microsoft Common Control), you need to have "your_project_name.rc" and "your_project_name.exe.manifest" file in your project when C compiling. The contents of two files are same for different projects most of times.

For example, the rc file for docking simple project ("$ISE_LIBRARY/examples/docking/simple") project is "docking_simple.rc" which content is:

1 24 "docking_control.exe.manifest"

And there is another file "docking_simple.exe.manifest" which content is:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <dependency>
                <dependentAssembly>
                        <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly>
        </dependency>
</assembly



andersoxie-2

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink


Thanks

I was now able to get the example to view with the new style. But I am struggeling with doing to my .NET target. Is it possbile? I get this message indicating a missing Method and I do not know which assemly to add.

System.MissingMethodException
Metoden hittades inte: Int32 EiffelSoftware.Runtime.ISE_RUNTIME.get_rescue_level().
System.MissingMethodException: Metoden hittades inte: Int32 EiffelSoftware.Runtime.ISE_RUNTIME.get_rescue_level().
   vid EiffelSoftware.Library.Wel.support.Impl.WEL_APPLICATION_MAIN_WINDOW.$$application_cell(WEL_APPLICATION_MAIN_WINDOW Current)
   vid EiffelSoftware.Library.Vision2.$$Implementation.kernel.Impl.EV_APPLICATION_IMP.application_cell()
il_type_name: System.MissingMethodException

Regards

Anders

--- In [hidden email], "larryliuming" <larryliuming@...> wrote:

>
>
>
> Hi, Anders,
>
> To use new Windows Style (actually newer version Microsoft Common Control), you need to have "your_project_name.rc" and "your_project_name.exe.manifest" file in your project when C compiling. The contents of two files are same for different projects most of times.
>
> For example, the rc file for docking simple project ("$ISE_LIBRARY/examples/docking/simple") project is "docking_simple.rc" which content is:
>
> 1 24 "docking_control.exe.manifest"
>
> And there is another file "docking_simple.exe.manifest" which content is:
>
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
> <dependency>
> <dependentAssembly>
> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly>
> </dependency>
> </assembly
>


andersoxie-2

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink
I found the problem with the MethodException. Since I have both 6.3 and 6.4 of EiffelStudio it seems to be confused and selects the 6.3 version instaed of the 6.4 version of the Eiffel system library. So now the application starts but I still do not get the new style. Is it implemented for .NET?

Regards

Anders

--- In [hidden email], "andersoxie" <anders@...> wrote:

>
>
>
> Thanks
>
> I was now able to get the example to view with the new style. But I am struggeling with doing to my .NET target. Is it possbile? I get this message indicating a missing Method and I do not know which assemly to add.
>
> System.MissingMethodException
> Metoden hittades inte: Int32 EiffelSoftware.Runtime.ISE_RUNTIME.get_rescue_level().
> System.MissingMethodException: Metoden hittades inte: Int32 EiffelSoftware.Runtime.ISE_RUNTIME.get_rescue_level().
>    vid EiffelSoftware.Library.Wel.support.Impl.WEL_APPLICATION_MAIN_WINDOW.$$application_cell(WEL_APPLICATION_MAIN_WINDOW Current)
>    vid EiffelSoftware.Library.Vision2.$$Implementation.kernel.Impl.EV_APPLICATION_IMP.application_cell()
> il_type_name: System.MissingMethodException
>
> Regards
>
> Anders
>
> --- In [hidden email], "larryliuming" <larryliuming@> wrote:
> >
> >
> >
> > Hi, Anders,
> >
> > To use new Windows Style (actually newer version Microsoft Common Control), you need to have "your_project_name.rc" and "your_project_name.exe.manifest" file in your project when C compiling. The contents of two files are same for different projects most of times.
> >
> > For example, the rc file for docking simple project ("$ISE_LIBRARY/examples/docking/simple") project is "docking_simple.rc" which content is:
> >
> > 1 24 "docking_control.exe.manifest"
> >
> > And there is another file "docking_simple.exe.manifest" which content is:
> >
> > <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> > <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
> > <dependency>
> > <dependentAssembly>
> > <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly>
> > </dependency>
> > </assembly
> >
>


Emmanuel Stapf

RE: Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink
> I found the problem with the MethodException. Since I have both 6.3 and
> 6.4 of EiffelStudio it seems to be confused and selects the 6.3 version
> instaed of the 6.4 version of the Eiffel system library. So now the
> application starts but I still do not get the new style. Is it
> implemented for .NET?

Not the way Larry suggested it, i.e. by including the manifest file into the
resource part of the application. Under .NET you would need to create an
`app.exe.manifest' file with the same contenat and leave that file next to your
app.exe.

Regards,
Manu

------------------------------------------------------------------------  
Eiffel Software
805-685-1006
http://www.eiffel.com       
Customer support: http://support.eiffel.com       
User group: http://groups.eiffel.com/join       
------------------------------------------------------------------------  
andersoxie-2

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink
Hej

OK, then I know that it is possible. I tried but did not get it to work with my application. Do you have an example. From your description it seems very easy to do it but I may miss something.

Regards

Anders

--- In [hidden email], "Emmanuel Stapf [ES]" <manus@...> wrote:

>
> > I found the problem with the MethodException. Since I have both 6.3 and
> > 6.4 of EiffelStudio it seems to be confused and selects the 6.3 version
> > instaed of the 6.4 version of the Eiffel system library. So now the
> > application starts but I still do not get the new style. Is it
> > implemented for .NET?
>
> Not the way Larry suggested it, i.e. by including the manifest file into the
> resource part of the application. Under .NET you would need to create an
> `app.exe.manifest' file with the same contenat and leave that file next to your
> app.exe.
>
> Regards,
> Manu
>


andersoxie-2

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink
In reply to this post by Emmanuel Stapf
Hej

I have no problems getting it to work with standard compilation but when I generate .NET it does not work.

I have a copy (same as for standard compilation) of manifest file  in the F_code directory and then starts the application. Something more one need to do for a .NET application.

Regards

Anders

--- In [hidden email], "Emmanuel Stapf [ES]" <manus@...> wrote:

>
> > I found the problem with the MethodException. Since I have both 6.3 and
> > 6.4 of EiffelStudio it seems to be confused and selects the 6.3 version
> > instaed of the 6.4 version of the Eiffel system library. So now the
> > application starts but I still do not get the new style. Is it
> > implemented for .NET?
>
> Not the way Larry suggested it, i.e. by including the manifest file into the
> resource part of the application. Under .NET you would need to create an
> `app.exe.manifest' file with the same contenat and leave that file next to your
> app.exe.
>
> Regards,
> Manu
>


larryliuming

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink
Hi, Anders,

Maybe using mageUI.exe (or mage.exe) to generate/edit the .Net manifest file would help. Actually I have not really used the manifest file for .Net app so far...

Currently, I'm downloading the .Net SDK, then I will try the mageUI.exe to see if it would help.

larryliuming

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink


Hi, Anders,

The mageUI.exe is a simple tool... It does not really help about the issue.



For the way that putting manifest beside "app_name.exe.manifest" in the same folder as the executable seems only work for .Net 1.0. See:

http://dotnet.mvps.org/dotnet/faqs/?id=xpvisualstyles&lang=en

For .Net 2.0, it seems one must use Visual Studio to include the manifest file. See:

http://mahesg.wordpress.com/2007/07/30/adding-manifest-to-net-application/

This is what I know so far. I think there should be a way to include a manifest file without Visual Studio. If someone know it, please help.

Thanks

andersoxie-2

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink
Hej

I made some progress yesterday. However, I need som time to understand exactly where the problem is but I got it to work in line with Manus instructions, but I had to do some more things.

Anders

--- In [hidden email], "larryliuming" <larryliuming@...> wrote:

>
>
>
> Hi, Anders,
>
> The mageUI.exe is a simple tool... It does not really help about the issue.
>
>
>
> For the way that putting manifest beside "app_name.exe.manifest" in the same folder as the executable seems only work for .Net 1.0. See:
>
> http://dotnet.mvps.org/dotnet/faqs/?id=xpvisualstyles&lang=en
>
> For .Net 2.0, it seems one must use Visual Studio to include the manifest file. See:
>
> http://mahesg.wordpress.com/2007/07/30/adding-manifest-to-net-application/
>
> This is what I know so far. I think there should be a way to include a manifest file without Visual Studio. If someone know it, please help.
>
> Thanks
>


andersoxie-2

Re: Eiffelvisin2 and Windows style

Reply Threaded More More options
Print post
Permalink


Hej

It does work. However at my Vista computer it dependes on if one start the program without the manifest file the first time. If one do that, I can not get it to work in that folder. If I however create the manifest file before I start the program in a specific folder it  does work and I am able to remove, add, remove, add and so on the manifest file and it switch between W2000 and XP style each time.

If I start it before adding the manifest file I am able to copy the complete folder and all it content to a new folder and then it works again. If I then do a new copy, remove the manifest file, start it and then it fails again even if I add the manifest file after starting the executable once in that folder.

Even if I do not know the cause of this I am at least able to manage with it.

Regards


Anders

--- In [hidden email], "andersoxie" <anders@...> wrote:

>
> Hej
>
> I made some progress yesterday. However, I need som time to understand exactly where the problem is but I got it to work in line with Manus instructions, but I had to do some more things.
>
> Anders
>
> --- In [hidden email], "larryliuming" <larryliuming@> wrote:
> >
> >
> >
> > Hi, Anders,
> >
> > The mageUI.exe is a simple tool... It does not really help about the issue.
> >
> >
> >
> > For the way that putting manifest beside "app_name.exe.manifest" in the same folder as the executable seems only work for .Net 1.0. See:
> >
> > http://dotnet.mvps.org/dotnet/faqs/?id=xpvisualstyles&lang=en
> >
> > For .Net 2.0, it seems one must use Visual Studio to include the manifest file. See:
> >
> > http://mahesg.wordpress.com/2007/07/30/adding-manifest-to-net-application/
> >
> > This is what I know so far. I think there should be a way to include a manifest file without Visual Studio. If someone know it, please help.
> >
> > Thanks
> >
>