[Mono-winforms-list] SWF question
Wed, 12 Nov 2003 23:52:06 +0100
I think that CheckBox sample crashes due to some different problem.
IMHO, the process looks like this:
on first reference to Win32 class, loader tries to resolve class members
(static external functions also) and attempts to load winnt.dll or
"getprocaddress" of wine_get_unix_file_name from kernel32.dll. This fails
Windows and you see warnings, but they do not stop the loading process.
Only a call to a missing/unresolved function will break an application (you
should see a
stack trace and exception information).
CheckBox doesn't call those functions. The functions from
libwinnt.dll.so should be called only on Linux from static Win32 constructor
to load and initialize Wine, wine_get_unix_file_name should be called only
Linux from FileDialog code to convert a Win32 filename to a Linux filename.
I hope that this information is correct and will be useful for you.
----- Original Message -----
From: "Mark Gimelfarb" <firstname.lastname@example.org>
Sent: Wednesday, November 12, 2003 6:43 PM
Subject: [Mono-winforms-list] SWF question
> Hello all!
> I have been compiling several example programs from the Wine sample page
> Mono Wiki under WinXP XP1 w/ Mono 0.28 dist. One of the examples,
> fails to run, although it compiles nicely. A blank window comes up widgets
> initialized and then it quits. The error in the console window states:
> ** (swf-checkbox.exe:3068): WARNING **: Failed to load function
> le_name from kernel32.dll
> while looking at
> I've noticed that when _get_unix_file_name() gets called, it checks to see
> whether it's running under Unix by testing for the file separator for the
> target platform. This piece of code seems to do "the right thing", and I
> that there is a better way to do it (there is a FIXME comment above it),
> think that this boolean is to blame for the reaason that
> () get called at all under Windows, when it shouldn't. I also don't
> why a checkbox would want to call such function even under Linux, but
> at CheckBox.cs, I think that it gets called during Control Style inits or
> winControlProcMask calls by one of the lower-lever Win32 API functions. I
> love to be able to debug this issue and make a patch, but unfortunately, I
> not been able to either get the mono debugger working under Windoze, nor
> compile SWF libraries under VS.NET for debugging.
> Further on, in ctor for the Win32 class the following code exists:
> [DllImport ("libwinnt.dll.so", EntryPoint="PROCESS_InitWine")]
> extern static void PROCESS_InitWine (int argc, string 
> [DllImport ("libwinnt.dll.so", EntryPoint="LoadLibraryA")]
> extern static void NTDLL_LoadLibraryA (string s);
> Such declarations will of course, fail under windows and produce warnings
> the console.
> I would love to hear whether I'm totally wrong, or whether this makes any
> sense. If it does, and I can help fix this, I would love to be able to
> Mono-winforms-list maillist - Monoemail@example.com