[Mono-devel-list] Using WinForms on WinNT

Aleksey Ryabchuk ryabchuk at yahoo.com
Mon May 12 04:48:09 EDT 2003


Hello Alexandre,

I needed to pass CLIENTCREATESTRUCT via cp.Param field
for MDI interface. I found this way of passing of void
pointer in MS help and it really works correctly with
MS runtime. Should not Mono be able to handle this
situation too, should it ?

Regards
Aleksey

--- Alexandre Pigolkine <pigolkine at gmx.de> wrote:
> Hello Aleksey,
> 
> I think that one of the problems with crash is
> connected to the
> CreateWindowEx function.
> 
> ? SWF.diff
> Index: NativeWindow.cs
>
===================================================================
> RCS file:
>
/cvs/public/mcs/class/System.Windows.Forms/System.Windows.Forms/NativeWindow
> .cs,v
> retrieving revision 1.25
> diff -r1.25 NativeWindow.cs
> 105c105
> <      (IntPtr) 0, cp.Param);
> ---
> >      (IntPtr) 0, (IntPtr)0/*cp.Param*/);
> Index: win32functions.cs
>
===================================================================
> RCS file:
>
/cvs/public/mcs/class/System.Windows.Forms/System.Windows.Forms/win32functio
> ns.cs,v
> retrieving revision 1.25
> diff -r1.25 win32functions.cs
> 748,749c748,750
> <    [ MarshalAs( UnmanagedType.AsAny )]
> <    object lpParam);
> ---
> >    //[ MarshalAs( UnmanagedType.AsAny )]
> >    //object lpParam);
> >    IntPtr lpParam);
> 
> 
> This change makes things a bit better, but result is
> still the same :(
> 
> ...
> mono_compile_create_var 00000000 to 16 bytes
> no window, defwndproc
> no window, defwndproc
> WM_CREATE (static)
> no window, defwndproc
> mono_compile_create_var 00000000 to 16 bytes
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to thread 2500.0xeec]
> 0x77f52571 in ntdll!RtlInitNlsTables () from
> ntdll.dll
> (gdb) where
> #0  0x77f52571 in ntdll!RtlInitNlsTables () from
> ntdll.dll
> #1  0x77f92910 in ntdll!RtlpNtMakeTemporaryKey ()
> from ntdll.dll
> #2  0x77f73bb5 in ntdll!RtlCheckRegistryKey () from
> ntdll.dll
> #3  0x77f527e4 in ntdll!RtlInitNlsTables () from
> ntdll.dll
> #4  0x77bfac14 in msvcrt!free () from
> /cygdrive/d/WINDOWS/system32/msvcrt.dll
> #5  0x77bfac2a in msvcrt!free () from
> /cygdrive/d/WINDOWS/system32/msvcrt.dll
> #6  0x672e3f8d in g_realloc () from
> /usr/local/mono/bin/libglib-2.0-0.dll
> #7  0x00408bcb in mono_compile_create_var
> (cfg=0x17c1dc8, type=0x166a060,
> opcode
> =316) at mini.c:1299
> #8  0x00419588 in mono_compile_create_vars
> (cfg=0x17c1dc8) at mini.c:5249
> #9  0x0041a50c in mini_method_compile
> (method=0x1669fe8, opts=16779,
> domain=0x3f
> 4da0, parts=0) at mini.c:5701
> #10 0x0041b04c in mono_jit_compile_method
> (method=0x1669fe8) at mini.c:5970
> #11 0x00423eae in mono_compile_method
> (method=0x1669fe8) at object.c:145
> #12 0x0047a33f in x86_magic_trampoline (eax=0,
> ecx=24315200, edx=23502824,
> esi=0
> , edi=0, ebx=0, code=0x1730552
> "\203Ä\b\210\205³þÿÿ\205À\017\204¶",
> m=0x1669fe8)
>  at tramp-x86.c:88
> #13 0x00f37695 in ?? ()
> 
> Alexandre
> 
> 
> ----- Original Message ----- 
> From: "Aleksey Ryabchuk" <ryabchuk at yahoo.com>
> To: <mono-devel-list at lists.ximian.com>
> Sent: Friday, May 09, 2003 2:01 PM
> Subject: Re: [Mono-devel-list] Using WinForms on
> WinNT
> 
> 
> > Hi,
> >
> > I don't think that this crash has something to do
> with
> > these warnings. I eliminated them by commenting
> out
> > corresponding prototypes in win32functions.cs, but
> the
> > program crashes anyway. In fact it starts
> execution
> > and writes some debug output to the screen:
> >
> > no window, defwndproc
> > WM_CREATE (static)
> > no window, defwndproc
> >
> > and then it reports that the program tried to
> execute
> > privileged instruction and terminates. I run
> Win2K.


__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com



More information about the Mono-devel-list mailing list