From tf@noto.de Mon Sep 1 23:05:34 2003 From: tf@noto.de (Thomas Fritzsche) Date: Tue, 02 Sep 2003 00:05:34 +0200 Subject: [Mono-winforms-list] SWF on gentoo Message-ID: <3F53C2AE.4090802@noto.de> Hi Folks, I compiled the latest CVS with success on my gentoo system. I made a screenshot of the radiobutton example with now looks better than the Wiki-version: http://www.noto.de/mono/radiobuttons.png Parts of the main menu also run: http://www.noto.de/mono/mainmenu.png Thanks and regards, Thomas From eureko@grmexico.com.mx Tue Sep 2 08:03:45 2003 From: eureko@grmexico.com.mx (Gustavo Ramos) Date: 02 Sep 2003 03:03:45 -0400 Subject: [Mono-winforms-list] Windows Forms. In-Reply-To: <1043608557.10781.66.camel@erandi.boston.ximian.com> References: <1043608557.10781.66.camel@erandi.boston.ximian.com> Message-ID: <1062486196.9329.61.camel@pardaillan.grmexico.com.mx> > As said before, Winforms implemented with Wine is required to have > full support for Wndprocs and P/Invokes, and is the right way of doing > things. Totally agree. Almost any serious SWF project will need P/Invokes. Look at vbAccelerator.com (.net section) for some samples of things missing in SWF, worked-around with P/Invokes, and how the commercial-quality code would look like. A typical sample is the sealed ImageList class, that forbid us provide our own image lists to a ListView using just SWF. This can be worked around just by calling directly to the win api. > The other option that we have scratched is to build Windows.Forms > using a native toolkit, because we would not be able to achieve 100% > compatibility. This is a good project, for the novice/intermediate programmer, that doesn't use P/Invokes. This can be seen as a means of developer's platform-switching strategy, and would attract many many people, not developing high-quality frontends. But most important: the API is very very simple, almost self explanatory and widely known, so, it would become a standard for small projects. I do see both projects viable, not mutually exclusive, because they aren't just different approaches for reaching a goal: they are in nature distinct things, for different goals. regards, eureko From cmini@top-soft.com Thu Sep 4 10:21:59 2003 From: cmini@top-soft.com (Christian Mini) Date: Thu, 4 Sep 2003 11:21:59 +0200 Subject: [Mono-winforms-list] Info Windows.Form on GTK Message-ID: This is a multi-part message in MIME format. ------_=_NextPart_001_01C372C5.FE665930 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I 'd like to know how i can try my .Net graphic application in Mono using the GTK version of Windows.Form. I tried with the wine version but it didn't satisfied me. Thanks for your help.=20 =20 =20 Top Software s.a. * Mailto:cmini@top-soft.com =20 -------------------------------------------- Via Monaldo da Falciano, 3 47891 Loc.Falciano - Repubblica di San Marino * Tel. 0549 877910 * Fax 0549 909403 www.top-soft.com =20 --------------------------------------------=20 =20 ------_=_NextPart_001_01C372C5.FE665930 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I = ‘d like to know how i can try my .Net graphic application in Mono using the GTK = version of Windows.Form. I tried with the wine version but it = didn’t   satisfied me.  Thanks for your help.

 

 

Top Software s.a.
*  Mailto:cmini@top-soft.com
--------------------------------------------
Via Monaldo da Falciano, 3
47891 Loc.Falciano - Repubblica di San Marino
) Tel. 0549 877910        : Fax 0549 = 909403
www.top-soft.com
--------------------------------------------

 

=00 ------_=_NextPart_001_01C372C5.FE665930-- From spamfrommailing@freax.org Thu Sep 4 11:43:02 2003 From: spamfrommailing@freax.org (Philip Van Hoof) Date: Thu, 04 Sep 2003 12:43:02 +0200 Subject: [Mono-winforms-list] Info Windows.Form on GTK In-Reply-To: References: Message-ID: <1062672178.4117.3.camel@localhost.localdomain> On Thu, 2003-09-04 at 11:21, Christian Mini wrote: > I ‘d like to know how i can try my .Net graphic application in Mono > using the GTK version of Windows.Form. I tried with the wine version > but it didn’t satisfied me. Thanks for your help. At this moment will that GTK version not satisfy you. But to use it for your application you can put the System.Windows.Forms.dll-assembly, which you can find at mcs/class/System.Windows.Forms/Gtk after you did make in that directory, in the same directory as your .exe The GTK implementation of System.Windows.Forms is "FAR" from complete, you have been warned! -- Philip Van Hoof, Software Developer @ Cronose home: me at freax dot org (change the From-field) work: Philip dot VanHoof at cronos dot be http://www.freax.be, http://www.freax.eu.org From duncan@ximian.com Fri Sep 5 03:10:44 2003 From: duncan@ximian.com (Duncan Mak) Date: Thu, 04 Sep 2003 22:10:44 -0400 Subject: [Mono-winforms-list] New mono-wine packages Message-ID: <1062727844.25778.4.camel@diphthong> Hello WinFormers, A new mono-wine package has been made for RH8 and RH9 and it includes a new initialization patch from Alexandre (plus other fixes). The package is available on Red Carpet and you can also get them from the website: (RH8) http://www.go-mono.com/archive/redhat-80-i386/mono-wine-20030318-1.ximian.5.3.i386.rpm (RH9) http://www.go-mono.com/archive/redhat-90-i386/mono-wine-20030318-1.ximian.6.3.i386.rpm http://www.go-mono.com/archive/redhat-90-i386/mono-wine-debuginfo-20030318-1.ximian.6.3.i386.rpm Have fun, Duncan. From malsiva_vb@yahoo.com Tue Sep 9 12:56:52 2003 From: malsiva_vb@yahoo.com (sivakumar samyappan) Date: Tue, 9 Sep 2003 04:56:52 -0700 (PDT) Subject: [Mono-winforms-list] We are Developing class Libraries for VB In-Reply-To: <20030902102619.24779.31992.Mailman@headcheese.ximian.com> Message-ID: <20030909115652.81819.qmail@web21604.mail.yahoo.com> --0-1164446892-1063108612=:81102 Content-Type: text/plain; charset=us-ascii sir, We are Developing class libraries for vb in mono. we have an doubt that in the Instr,InstrRev of String Class has the CompareMethod,this CompareMethod our self want to develop or is that already exists with you, Just call the fuction from you. please give the solution. Sivakumar,India. Siva Kumar --------------------------------- Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software --0-1164446892-1063108612=:81102 Content-Type: text/html; charset=us-ascii

sir,

We are Developing class libraries for vb in mono.

we have an doubt that in the Instr,InstrRev of String Class has the CompareMethod,this CompareMethod our self want to develop or is that already exists with you, Just call the fuction from you.

please give the solution.

 

Sivakumar,India.



Siva Kumar


Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software --0-1164446892-1063108612=:81102-- From rafaelteixeirabr@hotmail.com Wed Sep 10 14:47:51 2003 From: rafaelteixeirabr@hotmail.com (rafaelteixeirabr@hotmail.com) Date: Wed, 10 Sep 2003 10:47:51 -0300 Subject: [Mono-winforms-list] We are Developing class Libraries for VB Message-ID: >sir, >We are Developing class libraries for vb in mono. Good >we have an doubt that in the Instr,InstrRev of String Class has the CompareMethod,this CompareMethod >our self want to develop or is that already exists with you, Just call the fuction from you. Call ours. Have a look at the code for Mono's implementation of Microsoft.VisualBasic.dll. >please give the solution. > Sivakumar,India. Only a tip, you've posted to the wrong list. That kind of question (unrelated to WinForms) , should be posted to mono-list@lists.ximian.com Best developments, Rafael Teixeira Brazilian Polymath Mono, MonoQLE hacker From akhilesh_agarwal@msn.com Fri Sep 12 21:50:34 2003 From: akhilesh_agarwal@msn.com (Akhilesh Agarwal) Date: Sat, 13 Sep 2003 02:20:34 +0530 Subject: [Mono-winforms-list] SWF: X11 vs GTK# vs Wine Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C3799D.BA0E6DC0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, =20 I have read many discussions about implementing SWF with Wine or GTK #. = Dotgnu.org is implementing SWF using X11.=20 =20 It seems to be a better option than Wine/GTK# because: =20 1. Does not require additional library files from Wine/GTK# =20 2. Runs on Mac OSX, Linux, Windows, etc. whereas at present neither Wine = nor GTK# runs on Mac OSX. =20 I wonder why implementing SWF using X11 has not been discussed in the = mono project. Or did I miss those messages? :-) =20 Akhilesh Agarwal =20 ------=_NextPart_000_0000_01C3799D.BA0E6DC0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable

Hi,

 

I have read many discussions about implementing SWF = with Wine or GTK #. Dotgnu.org is implementing SWF using X11. =

 

It seems to be a better option than Wine/GTK# = because:

 

  1. Does not require = additional library files from Wine/GTK#

 

  1. Runs on Mac OSX, = Linux, Windows, etc. whereas at present neither Wine nor GTK# runs on Mac = OSX.

 

I wonder why implementing SWF using X11 has not been discussed in the mono project. Or did I miss those messages? = J

 

Akhilesh Agarwal

 

------=_NextPart_000_0000_01C3799D.BA0E6DC0-- From thunderbird2k@gmx.net Sat Sep 13 15:05:37 2003 From: thunderbird2k@gmx.net (thunderbird2k@gmx.net) Date: Sat, 13 Sep 2003 16:05:37 +0200 (MEST) Subject: [Mono-winforms-list] SWF: X11 vs GTK# vs Wine References: <30738.1063461375@www33.gmx.net> Message-ID: <2846.1063461937@www25.gmx.net> First an answer to question 2. Winelib nowadays works on OSX but the mono wine fork doesn't contain these changes yet, so this argument isn't fully valid anymore. ;) Regarding question 1 there are various things that are about impossible to emulate without winelib mainly some wndproc stuff and more. Roderick Colenbrander > Hi, > > > > I have read many discussions about implementing SWF with Wine or GTK #. > Dotgnu.org is implementing SWF using X11. > > > > It seems to be a better option than Wine/GTK# because: > > > > 1. Does not require additional library files from Wine/GTK# > > > > 2. Runs on Mac OSX, Linux, Windows, etc. whereas at present neither Wine > nor GTK# runs on Mac OSX. > > > > I wonder why implementing SWF using X11 has not been discussed in the > mono project. Or did I miss those messages? :-) > > > > Akhilesh Agarwal > > > > -- COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test -------------------------------------------------- 1. GMX TopMail - Platz 1 und Testsieger! 2. GMX ProMail - Platz 2 und Preis-Qualitätssieger! 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post -- COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test -------------------------------------------------- 1. GMX TopMail - Platz 1 und Testsieger! 2. GMX ProMail - Platz 2 und Preis-Qualitätssieger! 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post From miguel@ximian.com Tue Sep 16 01:59:42 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 15 Sep 2003 20:59:42 -0400 Subject: [Mono-winforms-list] SWF: X11 vs GTK# vs Wine In-Reply-To: References: Message-ID: <1063673982.4645.787.camel@erandi.boston.ximian.com> Hello, > I have read many discussions about implementing SWF with Wine or GTK > #. Dotgnu.org is implementing SWF using X11. > It seems to be a better option than Wine/GTK# because: > 1. Does not require additional library files from Wine/GTK# See: http://primates.ximian.com/~miguel/toolkits.html And: http://www.go-mono.com/winforms.html > 1. Runs on Mac OSX, Linux, Windows, etc. whereas at present > neither Wine nor GTK# runs on Mac OSX. WineLib (the Wine edition we use) works on Mac OS X. > I wonder why implementing SWF using X11 has not been discussed in the > mono project. Or did I miss those messages? J It has been covered in depth. Miguel. From miguel@ximian.com Tue Sep 16 02:01:48 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 15 Sep 2003 21:01:48 -0400 Subject: [Mono-winforms-list] SWF: X11 vs GTK# vs Wine In-Reply-To: <2846.1063461937@www25.gmx.net> References: <30738.1063461375@www33.gmx.net> <2846.1063461937@www25.gmx.net> Message-ID: <1063674108.4645.790.camel@erandi.boston.ximian.com> Hello, > First an answer to question 2. Winelib nowadays works on OSX but the mono > wine fork doesn't contain these changes yet, so this argument isn't fully > valid > anymore. ;) Btw, Vlad is working on adding the other libraries that we were missing, as well as synchronizing to the latest wine tree. > Regarding question 1 there are various things that are about impossible to > emulate without winelib mainly some wndproc stuff and more. Also, by going the Wine path, we will be able to run applications written in Delphi.NET using the Delphi GUI toolkit (hopefully with little or no changes). Miguel. From jmas@softcatala.org Tue Sep 16 12:33:36 2003 From: jmas@softcatala.org (Jordi Mas) Date: Tue, 16 Sep 2003 13:33:36 +0200 Subject: [Mono-winforms-list] ListViewItem Message-ID: <3F66F510.6090009@softcatala.org> Hello, I have mono up and running (thanks to Lluís). I have started to work on the implementation of the ListView control and its accessory classes (ListViewItem, the various collections, etc). I already some basic ListViewItem stuff working. I also have some new cases. I'm just mentioning this to avoid someone to work on the same class and duplicate efforts. Right now I do not have much time and I'm new to .Net, but I will be working on this. Thanks, -- Jordi Mas i Hernàndez (homepage http://www.softcatala.org/~jmas) http://www.softcatala.org From jmas@softcatala.org Fri Sep 19 11:27:51 2003 From: jmas@softcatala.org (Jordi Mas) Date: Fri, 19 Sep 2003 12:27:51 +0200 Subject: [Mono-winforms-list] [Patch] Initial FontDialog class implementation Message-ID: <3F6ADA27.4010505@softcatala.org> This is a multi-part message in MIME format. --------------060301070709000306030201 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Hello, Here you have the initial FontDialog Box implementation. There are still a few things to finnish but you can already do the basic stuff. I have not tried in a wine enviroment, but it works fine in win32. I also have written a simple sample to test it (FontDialogSample.cs). This example is currently living in my machine at mono/mcs/class/System.Windows.Forms/System.Windows.Forms.Test. I do not know if it should be commited there or to the winforms cvs module. I'll suggest to keep it at mono/mcs/class/System.Windows.Forms/System.Win because it looks like the logical place to look for it. Please, have a look and commit the diff and the example if you think is OK. Best Regards, -- Jordi Mas i Hernàndez (homepage http://www.softcatala.org/~jmas) http://www.softcatala.org --------------060301070709000306030201 Content-Type: text/plain; name="fontdlg.txt" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="fontdlg.txt" Index: class/System.Drawing/System.Drawing/impl/wine/win32Enums.cs =================================================================== RCS file: /mono/mcs/class/System.Drawing/System.Drawing/impl/wine/win32Enums.cs,v retrieving revision 1.3 diff -c -r1.3 win32Enums.cs *** class/System.Drawing/System.Drawing/impl/wine/win32Enums.cs 23 Aug 2003 09:39:37 -0000 1.3 --- class/System.Drawing/System.Drawing/impl/wine/win32Enums.cs 19 Sep 2003 10:20:10 -0000 *************** *** 4,9 **** --- 4,10 ---- * Minor additons for project Mono by * John Sohn (jsohn@columbus.rr.com) * Dennis Hayes (dennish@raytek.com) + * Jordi Mas i Hernàndez (jmas@softcatala.org) * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the *************** *** 1053,1059 **** LVM_FIRST = 0x1000, LVM_GETSUBITEMRECT = (LVM_FIRST + 56), LVM_GETITEMSTATE = (LVM_FIRST + 44), ! LVM_GETITEMTEXTW = (LVM_FIRST + 115) } #endregion --- 1054,1064 ---- LVM_FIRST = 0x1000, LVM_GETSUBITEMRECT = (LVM_FIRST + 56), LVM_GETITEMSTATE = (LVM_FIRST + 44), ! LVM_GETITEMTEXTW = (LVM_FIRST + 115) ! LVM_INSERTITEMA = (LVM_FIRST + 7) ! LVM_INSERTITEMW = (LVM_FIRST + 77) ! LVM_INSERTCOLUMNA = (LVM_FIRST + 27) ! LVM_INSERTCOLUMNW = (LVM_FIRST + 97) } #endregion Index: class/System.Windows.Forms/ChangeLog =================================================================== RCS file: /mono/mcs/class/System.Windows.Forms/ChangeLog,v retrieving revision 1.11 diff -c -r1.11 ChangeLog *** class/System.Windows.Forms/ChangeLog 31 Aug 2003 17:22:03 -0000 1.11 --- class/System.Windows.Forms/ChangeLog 19 Sep 2003 10:20:22 -0000 *************** *** 1,3 **** --- 1,6 ---- + 2003-09-19 Jordi Mas i Hernàndez + * Initial FileDialog Box implementation + 2003-08-31 Jerome Laban * Label.cs: Fixed Text property not redrawing the label correctly. Index: class/System.Windows.Forms/System.Windows.Forms/FontDialog.cs =================================================================== RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/FontDialog.cs,v retrieving revision 1.12 diff -c -r1.12 FontDialog.cs *** class/System.Windows.Forms/System.Windows.Forms/FontDialog.cs 4 Dec 2002 01:35:40 -0000 1.12 --- class/System.Windows.Forms/System.Windows.Forms/FontDialog.cs 19 Sep 2003 10:20:23 -0000 *************** *** 4,197 **** // Author: // stubbed out by Daniel Carrera (dcarrera@math.toronto.edu) // Dennis Hayes (dennish@raytek.com) ! // (C) 2002 Ximian, Inc // using System.Drawing; ! namespace System.Windows.Forms { ! ! // ! // ! // ! ! public class FontDialog : CommonDialog { ! ! // ! // --- Constructor ! // ! [MonoTODO] ! public FontDialog() ! { ! } ! ! // ! // --- Public Properties ! // ! [MonoTODO] ! public bool AllowScriptChange { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool AllowSimululations { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool AllowVectorForms { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool AllowVerticalForms { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public Color Color { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool FixedPitchOnly { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public Font Font { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool FontMustExist { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public int MaxSize { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public int MinSize { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool ScriptsOnly { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool ShowApply { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool ShowColor { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool ShowEffects { ! get { ! throw new NotImplementedException (); ! } ! set { ! //FIXME: ! } ! } ! [MonoTODO] ! public bool ShowHelp { ! get { ! throw new NotImplementedException (); } ! set { ! //FIXME: } ! } ! ! ! // --- Public Methods ! ! [MonoTODO] ! public override void Reset() ! { ! //FIXME: ! } ! ! // ! // --- Public Events ! // ! [MonoTODO] ! public event EventHandler Apply; ! ! // ! // --- Protected Properties ! // ! ! [MonoTODO] ! protected override IntPtr HookProc( IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam ) ! { ! //FIXME: ! return base.HookProc(hWnd, msg, wparam,lparam); ! } ! [MonoTODO] ! protected override bool RunDialog(IntPtr hWndOwner) ! { ! throw new NotImplementedException (); ! } ! } } --- 4,220 ---- // Author: // stubbed out by Daniel Carrera (dcarrera@math.toronto.edu) // Dennis Hayes (dennish@raytek.com) ! // Implemented by Jordi Mas i Hernàndez (jmas@softcatala.org) ! // ! // (C) 2002-2003 Ximian, Inc // using System.Drawing; ! using System.Runtime.InteropServices; ! using System.Drawing; ! namespace System.Windows.Forms ! { ! public class FontDialog : CommonDialog ! { ! private bool bAllowScriptChange; ! private bool bAllowSimululations; ! private bool bAllowVectorForms; ! private bool bAllowVerticalForms; ! private Color color = Color.Black; ! private bool bFixedPitchOnly; ! private Font font; ! private bool bFontMustExist; ! private int nMaxSize; ! private int nMinSize; ! private bool bScriptsOnly; ! private bool bShowApply; ! private bool bShowColor; ! private bool bShowEffects; ! private bool bShowHelp; ! ! // ! // --- Constructor ! // ! public FontDialog() ! { ! defaultValues(); ! } ! internal void defaultValues() ! { ! font = new Font("Microsoft Sans Serif", 8); ! bAllowScriptChange = true; ! bAllowSimululations = true; ! bAllowVectorForms = true; ! bAllowVerticalForms = true; ! color = Color.Black; ! bFixedPitchOnly = false; ! bFontMustExist = false; ! nMaxSize = 0 ; ! nMinSize = 0; ! bScriptsOnly = false; ! bShowApply = true; ! bShowColor = false; ! bShowEffects = true; ! bShowHelp = false; ! } ! ! // ! // --- Public Properties ! // ! public virtual bool AllowScriptChange ! { ! get { return bAllowScriptChange; } ! set { bAllowScriptChange = value; } } ! ! public bool AllowSimululations ! { ! get { return AllowSimululations; } ! set { bAllowSimululations = value; } } ! ! public bool AllowVectorForms ! { ! get { return AllowVectorForms; } ! set { AllowVectorForms = value; } ! } ! ! public bool AllowVerticalForms ! { ! get { return AllowVerticalForms; } ! set { AllowVerticalForms = value; } ! } ! ! public Color Color ! { ! get { return color; } ! set { color = value; } ! } ! ! public bool FixedPitchOnly ! { ! get { return bFixedPitchOnly; } ! set { bFixedPitchOnly = value; } ! } ! ! public Font Font ! { ! get { return font; } ! set { font = value; } ! } ! ! public bool FontMustExist ! { ! get { return bFontMustExist; } ! set { bFontMustExist = value; } ! } ! ! public int MaxSize ! { ! get { return nMaxSize; } ! set { nMaxSize = value; } ! } ! ! public int MinSize ! { ! get { return nMinSize; } ! set { nMinSize = value; } ! } ! ! public bool ScriptsOnly ! { ! get { return bScriptsOnly; } ! set { bScriptsOnly = value; } ! } ! ! public bool ShowApply ! { ! get { return bShowApply; } ! set { bShowApply = value; } ! } ! ! public bool ShowColor ! { ! get { return bShowColor; } ! set { bShowColor = value; } ! } ! ! public bool ShowEffects ! { ! get { return bShowEffects; } ! set { bShowEffects = value; } ! } ! ! public bool ShowHelp ! { ! get { return bShowHelp; } ! set { bShowHelp = value; } ! } ! ! ! // --- Public Methods ! public override void Reset() ! { ! defaultValues(); ! } ! ! // ! // --- Public Events ! // ! [MonoTODO] ! public event EventHandler Apply; ! ! ! [MonoTODO] ! protected override IntPtr HookProc( IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam ) ! { ! return base.HookProc(hWnd, msg, wparam,lparam); ! } ! protected override bool RunDialog(IntPtr hWndOwner) ! { ! CHOOSEFONT cf = new CHOOSEFONT(); ! LOGFONT lf = new LOGFONT(); ! ! cf.lStructSize = (uint)Marshal.SizeOf(cf); ! cf.nSizeMin = MinSize; ! cf.nSizeMax = MaxSize; ! ! lf.lfFaceName=Font.FontFamily.Name; ! lf.lfWeight = (uint)400/* FW_NORMAL*/ ; ! lf.lfHeight = (uint) -((Font.Size * 96)/72); // TODO: Use Win32.GetDeviceCaps(0, LOGPIXELSY) when implemented ! ! //cf.lpfnHook = new Win32.FnHookProc(HookProc); ! cf.Flags = (uint)(FontDlgFlags.CF_SCREENFONTS| /* FontDlgFlags.CF_ENABLEHOOK |*/ FontDlgFlags.CF_EFFECTS |FontDlgFlags.CF_INITTOLOGFONTSTRUCT); ! ! // Flags ! if (!AllowScriptChange) cf.Flags |= (int)FontDlgFlags.CF_NOSCRIPTSEL; ! if (ShowApply) cf.Flags |= (int)FontDlgFlags.CF_APPLY; ! if (bShowEffects) cf.Flags |= (int)FontDlgFlags.CF_EFFECTS; ! if (bShowHelp) cf.Flags |= (int)FontDlgFlags.CF_SHOWHELP; ! if (bFixedPitchOnly) cf.Flags |= (int)FontDlgFlags.CF_SHOWHELP; ! if (bFontMustExist) cf.Flags |= (int)FontDlgFlags.CF_FORCEFONTEXIST; ! if (!(MaxSize==0) || !(MinSize==0)) cf.Flags |= (int)FontDlgFlags.CF_LIMITSIZE; ! ! // Color ! cf.rgbColors = (uint) (color.R | color.G<<8 |color.B <<16); ! IntPtr lfBuffer = Marshal.AllocHGlobal(Marshal.SizeOf(lf)); ! Marshal.StructureToPtr(lf, lfBuffer, false); ! cf.lpLogFont = lfBuffer; ! ! // Show dialog box ! if (Win32_WineLess.ChooseFont(ref cf)) ! { ! lf = (LOGFONT) Marshal.PtrToStructure(lfBuffer, typeof(LOGFONT)); ! Marshal.FreeHGlobal(lfBuffer); ! ! // Get font ! font = new Font(lf.lfFaceName, cf.iPointSize/10); ! Color = Color.FromArgb (0, (int)cf.rgbColors & 0x0FF, (int)(cf.rgbColors >> 8) & 0x0FF, (int) (cf.rgbColors >> 16) & 0x0FF); ! return true; ! } ! else ! return false; ! } ! } } + Index: class/System.Windows.Forms/System.Windows.Forms/win32Enums.cs =================================================================== RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/win32Enums.cs,v retrieving revision 1.35 diff -c -r1.35 win32Enums.cs *** class/System.Windows.Forms/System.Windows.Forms/win32Enums.cs 11 Aug 2003 14:15:10 -0000 1.35 --- class/System.Windows.Forms/System.Windows.Forms/win32Enums.cs 19 Sep 2003 10:20:31 -0000 *************** *** 2896,2901 **** --- 2896,2933 ---- OFN_ENABLEINCLUDENOTIFY = 0x00400000, OFN_ENABLESIZING = 0x00800000 } + + internal enum FontDlgFlags : int { + CF_SCREENFONTS = 0x00000001, + CF_PRINTERFONTS = 0x00000002, + CF_BOTH = (CF_SCREENFONTS | CF_PRINTERFONTS), + CF_SHOWHELP = 0x00000004, + CF_ENABLEHOOK = 0x00000008, + CF_ENABLETEMPLATE = 0x00000010, + CF_ENABLETEMPLATEHANDLE = 0x00000020, + CF_INITTOLOGFONTSTRUCT = 0x00000040, + CF_USESTYLE = 0x00000080, + CF_EFFECTS = 0x00000100, + CF_APPLY = 0x00000200, + CF_ANSIONLY = 0x00000400, + CF_SCRIPTSONLY = CF_ANSIONLY, + CF_NOVECTORFONTS = 0x00000800, + CF_NOOEMFONTS = CF_NOVECTORFONTS, + CF_NOSIMULATIONS = 0x00001000, + CF_LIMITSIZE = 0x00002000, + CF_FIXEDPITCHONLY = 0x00004000, + CF_WYSIWYG = 0x00008000, // must also have CF_SCREENFONTS & CF_PRINTERFONTS + CF_FORCEFONTEXIST = 0x00010000, + CF_SCALABLEONLY = 0x00020000, + CF_TTONLY = 0x00040000, + CF_NOFACESEL = 0x00080000, + CF_NOSTYLESEL = 0x00100000, + CF_NOSIZESEL = 0x00200000, + CF_SELECTSCRIPT = 0x00400000, + CF_NOSCRIPTSEL = 0x00800000, + CF_NOVERTFONTS = 0x01000000, + + } internal enum CommDlgErrors : uint { FNERR_FILENAMECODES = 0x3000, Index: class/System.Windows.Forms/System.Windows.Forms/win32Structs.cs =================================================================== RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/win32Structs.cs,v retrieving revision 1.23 diff -c -r1.23 win32Structs.cs *** class/System.Windows.Forms/System.Windows.Forms/win32Structs.cs 8 Aug 2003 15:49:35 -0000 1.23 --- class/System.Windows.Forms/System.Windows.Forms/win32Structs.cs 19 Sep 2003 10:20:33 -0000 *************** *** 856,861 **** --- 856,904 ---- internal Win32.FnHookProc lpfnHook; internal string lpTemplateName; } + + [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)] + public struct LOGFONT + { + internal uint lfHeight; + internal uint lfWidth; + internal uint lfEscapement; + internal uint lfOrientation; + internal uint lfWeight; + internal byte lfItalic; + internal byte lfUnderline; + internal byte lfStrikeOut; + internal byte lfCharSet; + internal byte lfOutPrecision; + internal byte lfClipPrecision; + internal byte lfQuality; + internal byte lfPitchAndFamily; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)] + internal string lfFaceName; + + } + + [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)] + public struct CHOOSEFONT { + + internal uint lStructSize; + internal IntPtr hwndOwner; + internal IntPtr hDC; + internal IntPtr lpLogFont; + internal int iPointSize; + internal uint Flags; + internal uint rgbColors; + internal uint lCustData; + internal Win32.FnHookProc lpfnHook; + internal uint lpTemplateName; + internal IntPtr hInstance; + internal uint lpszStyle; + internal short nFontType; + internal short ___MISSING_ALIGNMENT__; + internal int nSizeMin; + internal int nSizeMax; + + } [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)] struct OFNOTIFY { Index: class/System.Windows.Forms/System.Windows.Forms/win32functions.cs =================================================================== RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/win32functions.cs,v retrieving revision 1.53 diff -c -r1.53 win32functions.cs *** class/System.Windows.Forms/System.Windows.Forms/win32functions.cs 31 Aug 2003 17:06:07 -0000 1.53 --- class/System.Windows.Forms/System.Windows.Forms/win32functions.cs 19 Sep 2003 10:20:38 -0000 *************** *** 71,76 **** --- 71,82 ---- CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)] internal static extern bool ChooseColor ( ref CHOOSECOLOR lpofn ); + + + [DllImport ("comdlg32.dll", + CallingConvention = CallingConvention.StdCall, + CharSet = CharSet.Ansi)] + internal static extern bool ChooseFont ( ref CHOOSEFONT lpcf ); [DllImport ("comdlg32.dll", CallingConvention = CallingConvention.StdCall, --------------060301070709000306030201 Content-Type: text/plain; name="FontDialogSample.cs" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="FontDialogSample.cs" // // Test application for the FontDialog class implementation // // Author: // Jordi Mas i Hernàndez, jmas@softcatala.org // using System; using System.Collections; using System.Windows.Forms; using System.Drawing; // namespace FontDialogTest { public class myButton : System.Windows.Forms.Button { public FontDialog fontDialog = null; public TestForm testForm = null; public FontDialog fontdlg { get { return fontDialog; } } public myButton(TestForm testFrm) : base() { fontDialog = new FontDialog(); testForm = testFrm; } /* User clicks the button*/ protected override void OnClick(EventArgs e) { // Show default values Console.WriteLine("Default values---"); Console.WriteLine("AllowScriptChange " + fontDialog.AllowScriptChange); Console.WriteLine("Color " + fontDialog.Color); Console.WriteLine("FixedPitchOnly " + fontDialog.FixedPitchOnly); Console.WriteLine("Font " + fontDialog.Font); Console.WriteLine("FontMustExist " + fontDialog.FontMustExist); Console.WriteLine("MaxSize " + fontDialog.MaxSize); Console.WriteLine("MinSize " + fontDialog.MinSize); Console.WriteLine("ScriptsOnly " + fontDialog.ScriptsOnly); Console.WriteLine("ShowApply " + fontDialog.ShowApply); Console.WriteLine("ShowColor " + fontDialog.ShowColor); Console.WriteLine("ShowEffects " + fontDialog.ShowEffects); Console.WriteLine("ShowHelp " + fontDialog.ShowHelp); testForm.Update(); fontDialog.ShowColor = true; fontDialog.Color = Color.Red; fontDialog.MinSize = 10; fontDialog.MaxSize = 12; if(fontDialog.ShowDialog(this) != DialogResult.Cancel ) { Console.WriteLine("Seleted Font " + fontDialog.Font.FontFamily.Name); Console.WriteLine("Seleted Size " + fontDialog.Font.Size); Console.WriteLine("Seleted Color " + fontDialog.Color); testForm.Update(); } else { fontDialog.Reset(); testForm.Update(); } } } public class TestForm : System.Windows.Forms.Form { TextBox fontName = null; TextBox fontSize = null; TextBox fontColor = null; myButton button = null; public static void Main(string[] args) { Application.Run(new TestForm()); } public TestForm() { InitializeComponent(); } private void InitializeComponent() { Text = "Test application for the FontDialog class implementation"; FontDialog fontDialog = new FontDialog(); ClientSize = new System.Drawing.Size(300, 300); button = new myButton(this); button.Location = new System.Drawing.Point(5, 10); button.Name = "button20"; button.Size = new System.Drawing.Size(100, 30); button.Text = "Press me baby"; button.TextAlign = System.Drawing.ContentAlignment.BottomLeft; Controls.Add(button); fontName = new TextBox(); fontName.Location = new System.Drawing.Point(5, 60); fontName.Name = "FontName"; fontName.Size = new System.Drawing.Size(200, 30); fontName.ReadOnly = true; Controls.Add(fontName); fontSize = new TextBox(); fontSize.Location = new System.Drawing.Point(5, 100); fontSize.Name = "FontSize"; fontSize.Size = new System.Drawing.Size(200, 30); fontSize.ReadOnly = true; Controls.Add(fontSize); fontColor = new TextBox(); fontColor.Location = new System.Drawing.Point(5, 140); fontColor.Name = "FontSize"; fontColor.Size = new System.Drawing.Size(200, 30); fontColor.ReadOnly = true; Controls.Add(fontColor); return; } public new void Update() { //fontName.Text = "Font: " + button.fontDialog.MaxSize + " "+ button.fontDialog.MinSize; fontName.Text = "Font: " + button.fontDialog.Font.FontFamily.Name; fontSize.Text = "Size: " + button.fontDialog.Font.Size; fontColor.Text = "Color: " + button.fontDialog.Color; } } } --------------060301070709000306030201-- From pigolkine@gmx.de Fri Sep 19 13:35:10 2003 From: pigolkine@gmx.de (Alexandre Pigolkine) Date: Fri, 19 Sep 2003 14:35:10 +0200 (MEST) Subject: [Mono-winforms-list] [Patch] Initial FontDialog class implementation References: <3F6ADA27.4010505@softcatala.org> Message-ID: <30405.1063974910@www41.gmx.net> Hello, I will review the patch this weekend. Could you please post the sample also. Thanks a lot, Alexandre Pigolkine > Hello, > > Here you have the initial FontDialog Box implementation. There are still a > few > things to finnish but you can already do the basic stuff. I have not tried > in > a wine enviroment, but it works fine in win32. > > I also have written a simple sample to test it (FontDialogSample.cs). This > example is currently living in my machine at > mono/mcs/class/System.Windows.Forms/System.Windows.Forms.Test. I do not > know > if it should be commited there or to the winforms cvs module. I'll suggest > to > keep it at mono/mcs/class/System.Windows.Forms/System.Win because it looks > like the logical place to look for it. > > Please, have a look and commit the diff and the example if you think is > OK. > > Best Regards, > -- > > Jordi Mas i Hernàndez (homepage http://www.softcatala.org/~jmas) > http://www.softcatala.org > > > > > > > From miguel@ximian.com Mon Sep 22 01:45:25 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 21 Sep 2003 20:45:25 -0400 Subject: [Mono-winforms-list] Wine/Cairo unification idea. Message-ID: <1064191525.4732.113.camel@erandi.boston.ximian.com> Hey guys, I am not sure if we will be able to unify the two implementation systems for System.Drawing, but it occurs to me that for things like Font, we could have a single implementation. The idea is that the font could be used in the two contexts: Wine and Cairo. If the font is initialized from an HFONT, we know we have a Win32 font, and we track its properties. If we ever need the Cairo version of the font, we will construct the cairo handle from it. The same happens in the other direction. We always delay the creation of the actual object until we absolutely have to. And when we do, we create the kind of object that we need. For Wine-based applications that means that the FromHXXXX and ToHXXX would would be the ones triggering the actual creation/referencing of a Wine object. Miguel. From miguel@ximian.com Mon Sep 22 01:18:13 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 21 Sep 2003 20:18:13 -0400 Subject: [Mono-winforms-list] System.Drawing implementation issues. Message-ID: <1064189893.4732.102.camel@erandi.boston.ximian.com> Hello, Currently we have two System.Drawing implementations, and depending on the kind of application running we pick one of them: the Cairo-based implementation and the Wine-based implementation. If Windows.Forms is initialized, we set a flag to use the Wine-based implementation, if not, we use the Cairo-based one. This is the state of each implementation: * Wine implementation: works directly with Wine, so rendering for Windows.Forms apps just works. The problem is that Wine lacks a GDI+ implementation, so some of the most advanced rendering features are not available, and will require us to reimplement lots of it, or work with the Wine team to implement GDI+. * The Cairo implementation has the most future, as it is a complete engine for doing the kind of 2d graphics that System. Drawing is. The main problem we have today is that we have to maintain two implementations of it, and the way this is done is rather cumbersome to maintain: a front-end class that acts as the proxy (Pen, Brush, etc) an interface that defines the contract between the backends and the front-end, and the backends themselves. This is a lot of complexity that I would like to avoid. The question to the Wine experts in the list is whether it is possible to just use Cairo for everything and have it work nicely with Wine to avoid the duplication of work. Miguel. From vkaluzhny@openlinksw.co.uk Mon Sep 22 14:43:57 2003 From: vkaluzhny@openlinksw.co.uk (Vladimir Kaluzhny) Date: Mon, 22 Sep 2003 20:43:57 +0700 Subject: [Mono-winforms-list] System.Drawing implementation issues. References: <1064189893.4732.102.camel@erandi.boston.ximian.com> Message-ID: <036401c3810f$944d43d0$7a7b46d9@omegasoft> Hello guys. Rushing to inform all of you, that commdlg32.dll and resources utilization functionality are done. Patch will be published in few days. Now I am working on migration of all of my patches onto latest build of wine. I find this issue below about System.Drawing implementation very interesting. Arguments, delivered by Miguel look like weightness. In fact, implementation of GDI+ is not easy work, but I do not see any problems to do it. Actually, if community would decide to write it, I can do this myself. But I think this will not be a quick deal. The only argument in this discussion for sake of GDI+ usage I see here is as follow - If we have already decided to use Win32 API shared libraries, pulled from Wine, why we should decline out from this way further? Meantime , since Cairo is a power graphic engine , it would be resonable to use it too. I guess there should a compromised solution here. Why not to try to integrate Cairo into our implementation of graphic engine for SWF and use it together with wine-based Win32 API shared libraries (obviously, gdi32.dll should be modified then, but I do not see any problems here). This is seen as curious, but can be considered as a possible solution, which give us a fastest result. My opinion is as follow - we need to integrate Cairo into our gdi32.dll. Regards, Vlad ----- Original Message ----- From: "Miguel de Icaza" To: "Mono Winforms" Sent: Monday, September 22, 2003 07:18 Subject: [Mono-winforms-list] System.Drawing implementation issues. > Hello, > > Currently we have two System.Drawing implementations, and depending > on the kind of application running we pick one of them: the Cairo-based > implementation and the Wine-based implementation. > > If Windows.Forms is initialized, we set a flag to use the Wine-based > implementation, if not, we use the Cairo-based one. This is the state > of each implementation: > > * Wine implementation: works directly with Wine, so rendering > for Windows.Forms apps just works. The problem is that Wine > lacks a GDI+ implementation, so some of the most advanced > rendering features are not available, and will require us > to reimplement lots of it, or work with the Wine team to > implement GDI+. > > * The Cairo implementation has the most future, as it is a > complete engine for doing the kind of 2d graphics that System. > Drawing is. > > The main problem we have today is that we have to maintain two > implementations of it, and the way this is done is rather cumbersome to > maintain: a front-end class that acts as the proxy (Pen, Brush, etc) an > interface that defines the contract between the backends and the > front-end, and the backends themselves. This is a lot of complexity > that I would like to avoid. > > The question to the Wine experts in the list is whether it is > possible to just use Cairo for everything and have it work nicely with > Wine to avoid the duplication of work. > > Miguel. > _______________________________________________ > Mono-winforms-list maillist - Mono-winforms-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-winforms-list > From vkaluzhny@openlinksw.co.uk Mon Sep 22 15:47:28 2003 From: vkaluzhny@openlinksw.co.uk (Vladimir Kaluzhny) Date: Mon, 22 Sep 2003 21:47:28 +0700 Subject: [Mono-winforms-list] Win32 API shared libaries References: <1064191525.4732.113.camel@erandi.boston.ximian.com> Message-ID: <037501c38118$72ae0030$7a7b46d9@omegasoft> This is a multi-part message in MIME format. ------=_NextPart_000_0372_01C38153.1E1299B0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit All. Here it is the latest patches (with commdlg32.dll and resources). I would ask somebody to write C# testing apllication and test this under Mono, since my testing have been done for C applications only. (Because those shared libaries are run without wine, it is possible to write any usual C application and use Win 32 API calls. This is more sutable for my purposes - testings dlls without Mono) Any feedbacks are welcome. Thanks in advance. Regards, Vlad ------=_NextPart_000_0372_01C38153.1E1299B0 Content-Type: application/x-compressed; name="win32api-20030318.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="win32api-20030318.tgz" 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 ------=_NextPart_000_0372_01C38153.1E1299B0-- From vkaluzhny@openlinksw.co.uk Wed Sep 24 05:01:27 2003 From: vkaluzhny@openlinksw.co.uk (Vladimir Kaluzhny) Date: Wed, 24 Sep 2003 11:01:27 +0700 Subject: [Mono-winforms-list] Win32 API shared libaries References: <1064191525.4732.113.camel@erandi.boston.ximian.com> <037501c38118$72ae0030$7a7b46d9@omegasoft> <1064257375.4775.17.camel@diphthong> <038701c38166$3d53df60$7a7b46d9@omegasoft> <1064321709.4061.4.camel@diphthong> Message-ID: <002d01c38250$88f1d310$7a7b46d9@omegasoft> Duncan. Thanks you a lot for this information. There was one silly mistake in Makefile.in - wine_uuid.a library was not compiled and installed through wine-shared mode. Now this bug was fixed and new patch is issued. I have removed all previously installed libraries and compiled shared libraries on clear place. Now all is ok. So, find new tarball attached with the patch. Regards, Vlad ----- Original Message ----- From: "Duncan Mak" To: "Vladimir Kaluzhny" Cc: "Miguel de Icaza" Sent: Tuesday, September 23, 2003 19:55 Subject: Re: [Mono-winforms-list] Win32 API shared libaries > Hello Vladimir, > > On Tue, 2003-09-23 at 02:04, Vladimir Kaluzhny wrote: > > Hello. > > This is a new realease of patch. It is to replace > > the previous one. > > I woke up really early this morning because of jet-lag, and tried to > build new mono-wine packages. I replaced the existing patch from you > with the new one, and applied the rest of the patches (2 from Alexandre, > for wine-initialization and one for getting the combo-box to work; 3 > from us at Ximian, for setting up a script to handle installing an > acceptable .wine directory). > > When I try to build, I see this error: > > /usr/bin/gcc -c -I. -I. -I../../include -I../../include -g -O2 -Wall > -mpreferred-stack-boundary=2 -gstabs+ -Wpointer-arith -fPIC > -D__WINESRC__ -D_RPCRT4_ -DCOM_NO_WINDOWS_H -DMONO -D_REENTRANT -o > rpcss_np_client.o rpcss_np_client.c > /usr/bin/gcc -shared -Wl,-soname,librpcrt4.dll.so cproxy.o cpsf.o > cstub.o ndr_marshall.o ndr_midl.o ndr_ole.o ndr_stubless.o rpc_binding.o > rpc_epmap.o rpc_message.o rpc_server.o rpcrt4_main.o rpcss_np_client.o > rpcrt4.dll.dbg.o -o librpcrt4.dll.so -L../../dlls -ladvapi32.dll > -lkernel32.dll -L../../ole -lwine_uuid -L../../library -lwin32 > -L../../unicode -lwin32_unicode -lm -ldl -lc > /usr/bin/ld: cannot find -lwine_uuid > collect2: ld returned 1 exit status > make[2]: *** [librpcrt4.dll.so] Error 1 > make[2]: Leaving directory > `/home/duncan/build/mono-wine/BUILD/wine-20030318/dlls/rpcrt4' > gmake[1]: *** [rpcrt4/librpcrt4.dll.so] Error 2 > gmake[1]: Leaving directory > `/home/duncan/build/mono-wine/BUILD/wine-20030318/dlls' > gmake: *** [wine-shared] Error 2 > error: Bad exit status from /var/tmp/rpm-tmp.70307 (%build) > > Going thru the both patches, old and new, the -lwine_uuid thing wasn't > changed at all. Do you have any idea why it is not building for me? > > Duncan. > From vkaluzhny@openlinksw.co.uk Wed Sep 24 05:35:41 2003 From: vkaluzhny@openlinksw.co.uk (Vladimir Kaluzhny) Date: Wed, 24 Sep 2003 11:35:41 +0700 Subject: [Mono-winforms-list] Win32 API shared libaries Message-ID: <003801c38255$4ffc4630$7a7b46d9@omegasoft> This is a multi-part message in MIME format. ------=_NextPart_000_0035_01C3828F.FBBDCCC0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Sorry, forgot to attach :-) ----- Original Message ----- From: "Vladimir Kaluzhny" To: ; "Duncan Mak" Cc: "Miguel de Icaza" Sent: Wednesday, September 24, 2003 11:01 Subject: Re: [Mono-winforms-list] Win32 API shared libaries > Duncan. > > Thanks you a lot for this information. > There was one silly mistake in Makefile.in - > wine_uuid.a library was not compiled and installed > through wine-shared mode. > > Now this bug was fixed and new patch is issued. > I have removed all previously installed libraries > and compiled shared libraries on clear place. > Now all is ok. > > So, find new tarball attached with the patch. > > Regards, Vlad > > ----- Original Message ----- > From: "Duncan Mak" > To: "Vladimir Kaluzhny" > Cc: "Miguel de Icaza" > Sent: Tuesday, September 23, 2003 19:55 > Subject: Re: [Mono-winforms-list] Win32 API shared libaries > > > > Hello Vladimir, > > > > On Tue, 2003-09-23 at 02:04, Vladimir Kaluzhny wrote: > > > Hello. > > > This is a new realease of patch. It is to replace > > > the previous one. > > > > I woke up really early this morning because of jet-lag, and tried to > > build new mono-wine packages. I replaced the existing patch from you > > with the new one, and applied the rest of the patches (2 from Alexandre, > > for wine-initialization and one for getting the combo-box to work; 3 > > from us at Ximian, for setting up a script to handle installing an > > acceptable .wine directory). > > > > When I try to build, I see this error: > > > > /usr/bin/gcc -c -I. -I. -I../../include -I../../include -g -O2 -Wall > > -mpreferred-stack-boundary=2 -gstabs+ -Wpointer-arith -fPIC > > -D__WINESRC__ -D_RPCRT4_ -DCOM_NO_WINDOWS_H -DMONO -D_REENTRANT -o > > rpcss_np_client.o rpcss_np_client.c > > /usr/bin/gcc -shared -Wl,-soname,librpcrt4.dll.so cproxy.o cpsf.o > > cstub.o ndr_marshall.o ndr_midl.o ndr_ole.o ndr_stubless.o rpc_binding.o > > rpc_epmap.o rpc_message.o rpc_server.o rpcrt4_main.o rpcss_np_client.o > > rpcrt4.dll.dbg.o -o librpcrt4.dll.so -L../../dlls -ladvapi32.dll > > -lkernel32.dll -L../../ole -lwine_uuid -L../../library -lwin32 > > -L../../unicode -lwin32_unicode -lm -ldl -lc > > /usr/bin/ld: cannot find -lwine_uuid > > collect2: ld returned 1 exit status > > make[2]: *** [librpcrt4.dll.so] Error 1 > > make[2]: Leaving directory > > `/home/duncan/build/mono-wine/BUILD/wine-20030318/dlls/rpcrt4' > > gmake[1]: *** [rpcrt4/librpcrt4.dll.so] Error 2 > > gmake[1]: Leaving directory > > `/home/duncan/build/mono-wine/BUILD/wine-20030318/dlls' > > gmake: *** [wine-shared] Error 2 > > error: Bad exit status from /var/tmp/rpm-tmp.70307 (%build) > > > > Going thru the both patches, old and new, the -lwine_uuid thing wasn't > > changed at all. Do you have any idea why it is not building for me? > > > > Duncan. > > > ------=_NextPart_000_0035_01C3828F.FBBDCCC0 Content-Type: application/x-compressed; name="win32api-20030318.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="win32api-20030318.tgz" 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 ------=_NextPart_000_0035_01C3828F.FBBDCCC0-- From duncan@ximian.com Wed Sep 24 13:36:14 2003 From: duncan@ximian.com (Duncan Mak) Date: Wed, 24 Sep 2003 14:36:14 +0200 Subject: [Mono-winforms-list] Win32 API shared libaries In-Reply-To: <003801c38255$4ffc4630$7a7b46d9@omegasoft> References: <003801c38255$4ffc4630$7a7b46d9@omegasoft> Message-ID: <1064406960.25334.0.camel@diphthong> On Wed, 2003-09-24 at 06:35, Vladimir Kaluzhny wrote: > Sorry, forgot to attach :-) > Thanks for the new patches. I got the packages built. They are available in: http://primates.ximian.com/~duncan/tmp The serial of the packages in 4. Tell me how they work, if they're good, I'll push them to red carpet. Thanks, Duncan. From duncan@ximian.com Thu Sep 25 15:01:42 2003 From: duncan@ximian.com (Duncan Mak) Date: Thu, 25 Sep 2003 16:01:42 +0200 Subject: [Mono-winforms-list] Win32 API shared libaries In-Reply-To: <1064406960.25334.0.camel@diphthong> References: <003801c38255$4ffc4630$7a7b46d9@omegasoft> <1064406960.25334.0.camel@diphthong> Message-ID: <1064498502.3855.23.camel@diphthong> On Wed, 2003-09-24 at 14:36, Duncan Mak wrote: > Tell me how they work, if they're good, I'll push them to red carpet. > I just installed the package and this is what I see: diphthong:~ $ rpm -q mono-wine diphthong:~/Mono/winforms/button $ rpm -q mono-wine mono-wine-20030318-1.ximian.6.4 diphthong:~/Mono/winforms/button $ rpm -ql mono-wine /usr/bin/mono-wine-setup /usr/bin/win32server /usr/lib/libadvapi32.dll.so /usr/lib/libcomctl32.dll.so /usr/lib/libcomdlg32.dll.so /usr/lib/libgdi32.dll.so /usr/lib/libkernel32.dll.so /usr/lib/libole32.dll.so /usr/lib/librpcrt4.dll.so /usr/lib/libshell32.dll.so /usr/lib/libshlwapi.dll.so /usr/lib/libuser32.dll.so /usr/lib/libwin32.so.1.0 /usr/lib/libwin32_unicode.so /usr/lib/libwin32_unicode.so.1.0 /usr/lib/libwinnt.dll.so /usr/lib/libwinspool.dll.so /usr/lib/libx11drv.dll.so /usr/lib/mono-wine/dot-wine.tar.gz diphthong:~/Mono/winforms/button $ mono swf-buttons.exe ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libuser32.dll.so (user32.dll): ./libuser32.dll.so: cannot open shared object file: No such file or directory ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libuser32.dll.so (user32.dll): ./libuser32.dll.so: cannot open shared object file: No such file or directory ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libkernel32.dll.so (kernel32.dll): ./libkernel32.dll.so: cannot open shared object file: No such file or directory ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libkernel32.dll.so (kernel32.dll): ./libkernel32.dll.so: cannot open shared object file: No such file or directory ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open shared object file: No such file or directory ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open shared object file: No such file or directory ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open shared object file: No such file or directory ** (swf-buttons.exe:22978): WARNING **: Failed to load library ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open shared object file: No such file or directory MonoWin32: Initializing WineLib Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.Control ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.Win32 ---> System.MissingMethodException: A missing method exception has occurred. in <0x00042> (wrapper managed-to-native) System.Windows.Forms.Win32:PROCESS_InitWine (int,string[]) in <0x0010c> System.Windows.Forms.Win32:.cctor () --- End of inner exception stack trace --- --- End of inner exception stack trace --- in (unmanaged) System.Windows.Forms.Control:.ctor () in <0x0000e> System.Windows.Forms.ScrollableControl:.ctor () in <0x00014> System.Windows.Forms.ContainerControl:.ctor () in <0x00017> System.Windows.Forms.Form:.ctor () in <0x0000a> MyFormProject.MainForm:.ctor () in <0x0004f> (wrapper remoting-invoke-with-check) MyFormProject.MainForm:.ctor ( ) in <0x0001e> MyFormProject.MainForm:Main (string[]) From vkaluzhny@openlinksw.co.uk Thu Sep 25 16:19:02 2003 From: vkaluzhny@openlinksw.co.uk (Vladimir Kaluzhny) Date: Thu, 25 Sep 2003 22:19:02 +0700 Subject: [Mono-winforms-list] Win32 API shared libaries References: <003801c38255$4ffc4630$7a7b46d9@omegasoft> <1064406960.25334.0.camel@diphthong> <1064498502.3855.23.camel@diphthong> Message-ID: <002401c38378$5bdf9780$7a7b46d9@omegasoft> Hello Duncan. Based on information below you sent I cannot find the reason of problem you have. I do not know how you did install shared libraries, whether ld can see them etc. ( My installation put libraries onto /usr/local/lib directory, meantime as yours are located on /usr/lib... why so?) I have tested new patches with C and C# applications. In both cases I see no problem. Therefore I have no idea what can be the reason. As much as I can see, your mono runtime cannot see any dll at all. Meantime I did not change anything relevant to all previously patched DLLs. They ware not chenged, therefore the only problems, which may appear can be related to comdlg32.dll library only. Rest code must be working anyway, irrelevant whether new patches working or not. Therefore, please, check your installation, run ldconfig, etc. Keep me informed, please. If you want, we can talk via ICQ. my ID is 109495385 Regards, Vlad ----- Original Message ----- From: "Duncan Mak" To: "Vladimir Kaluzhny" Cc: ; "Miguel de Icaza" Sent: Thursday, September 25, 2003 21:01 Subject: Re: [Mono-winforms-list] Win32 API shared libaries > On Wed, 2003-09-24 at 14:36, Duncan Mak wrote: > > Tell me how they work, if they're good, I'll push them to red carpet. > > > > I just installed the package and this is what I see: > > diphthong:~ $ rpm -q mono-wine > diphthong:~/Mono/winforms/button $ rpm -q mono-wine > mono-wine-20030318-1.ximian.6.4 > diphthong:~/Mono/winforms/button $ rpm -ql mono-wine > /usr/bin/mono-wine-setup > /usr/bin/win32server > /usr/lib/libadvapi32.dll.so > /usr/lib/libcomctl32.dll.so > /usr/lib/libcomdlg32.dll.so > /usr/lib/libgdi32.dll.so > /usr/lib/libkernel32.dll.so > /usr/lib/libole32.dll.so > /usr/lib/librpcrt4.dll.so > /usr/lib/libshell32.dll.so > /usr/lib/libshlwapi.dll.so > /usr/lib/libuser32.dll.so > /usr/lib/libwin32.so.1.0 > /usr/lib/libwin32_unicode.so > /usr/lib/libwin32_unicode.so.1.0 > /usr/lib/libwinnt.dll.so > /usr/lib/libwinspool.dll.so > /usr/lib/libx11drv.dll.so > /usr/lib/mono-wine/dot-wine.tar.gz > diphthong:~/Mono/winforms/button $ mono swf-buttons.exe > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libuser32.dll.so (user32.dll): ./libuser32.dll.so: cannot open shared > object file: No such file or directory > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libuser32.dll.so (user32.dll): ./libuser32.dll.so: cannot open shared > object file: No such file or directory > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libkernel32.dll.so (kernel32.dll): ./libkernel32.dll.so: cannot open > shared object file: No such file or directory > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libkernel32.dll.so (kernel32.dll): ./libkernel32.dll.so: cannot open > shared object file: No such file or directory > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open > shared object file: No such file or directory > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open > shared object file: No such file or directory > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open > shared object file: No such file or directory > > ** (swf-buttons.exe:22978): WARNING **: Failed to load library > ./libwinnt.dll.so (libwinnt.dll.so): ./libwinnt.dll.so: cannot open > shared object file: No such file or directory > MonoWin32: Initializing WineLib > > Unhandled Exception: System.TypeInitializationException: An exception > was thrown by the type initializer for System.Windows.Forms.Control ---> > System.TypeInitializationException: An exception was thrown by the type > initializer for System.Windows.Forms.Win32 ---> > System.MissingMethodException: A missing method exception has occurred. > in <0x00042> (wrapper managed-to-native) > System.Windows.Forms.Win32:PROCESS_InitWine (int,string[]) > in <0x0010c> System.Windows.Forms.Win32:.cctor () > --- End of inner exception stack trace --- > > --- End of inner exception stack trace --- > > in (unmanaged) System.Windows.Forms.Control:.ctor () > in <0x0000e> System.Windows.Forms.ScrollableControl:.ctor () > in <0x00014> System.Windows.Forms.ContainerControl:.ctor () > in <0x00017> System.Windows.Forms.Form:.ctor () > in <0x0000a> MyFormProject.MainForm:.ctor () > in <0x0004f> (wrapper remoting-invoke-with-check) > MyFormProject.MainForm:.ctor ( > ) > in <0x0001e> MyFormProject.MainForm:Main (string[]) > > > From duncan@ximian.com Thu Sep 25 16:36:45 2003 From: duncan@ximian.com (Duncan Mak) Date: Thu, 25 Sep 2003 17:36:45 +0200 Subject: [Mono-winforms-list] Win32 API shared libaries In-Reply-To: <002401c38378$5bdf9780$7a7b46d9@omegasoft> References: <003801c38255$4ffc4630$7a7b46d9@omegasoft> <1064406960.25334.0.camel@diphthong> <1064498502.3855.23.camel@diphthong> <002401c38378$5bdf9780$7a7b46d9@omegasoft> Message-ID: <1064504204.3861.41.camel@diphthong> Hello Vladimir, On Thu, 2003-09-25 at 17:19, Vladimir Kaluzhny wrote: > Based on information below you sent I cannot find the reason of problem you > have.I do not know how you did install shared libraries, whether ld can see them > etc. I installed them using the packages I built yesterday, the URL is in the first post. > ( My installation put libraries onto /usr/local/lib directory, meantime as > yours are located on /usr/lib... why so?) That's because I installed them with RPM and the default for RPM is to install to /usr. > As much as I can see, your mono runtime cannot see any dll at all. > Meantime I did not change anything relevant to all previously patched > DLLs. They were not changed, therefore the only problems, which may > appear can be related to comdlg32.dll library only. > Rest code must be working anyway, irrelevant whether new patches > working or not. I too thought that my setup was messed up. I am using Lluis, another Mono hacker right now. He had an older revision of the RPM (rev. 2) and the winform samples were working. I asked him to check the new RPMs and after installing that, he gets the same error as I do too. If you have a RH9 machine, please check the mono-wine packages in http://primates.ximian.com/~duncan/tmp. Duncan. From tpsoftware@users.sourceforge.net Sat Sep 27 21:12:33 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Sat, 27 Sep 2003 22:12:33 +0200 Subject: [Mono-winforms-list] Scrollbars -- Initial Value -- Bug Message-ID: <1064693553.5585.2.camel@localhost.localdomain> --=-VKZZXZePH/4PAHaDDdB/ Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi, Those of you compiling and running control sample 12 http://www.nullenvoid.com/mono/wiki/index.php/The%20ScrollBar%20Control.?PHPSESSID=76b811244aceeca5e92eea844c0640f6 will notice that mono ignores the initial value of the ProgressBar control. So for example if the initial value for ProgressBar.Value is set to 10, it will not be drawn when the form is loaded. Have any of you tried this with the CVS of mono ? (I'm using 0,26) Thnx Timothy P. --=-VKZZXZePH/4PAHaDDdB/ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hi,

Those of you compiling and running control sample 12
http://www.nullenvoid.com/mono/wiki/index.php/The%20ScrollBar%20Control.?PHPSESSID=76b811244aceeca5e92eea844c0640f6
will notice that mono ignores the initial value of the ProgressBar control.

So for example if the initial value for ProgressBar.Value is set to 10, it will not be drawn when the form is loaded. Have any of you tried this with the CVS of mono ? (I'm using 0,26)

Thnx
Timothy P.

--=-VKZZXZePH/4PAHaDDdB/-- From ryabchuk@yahoo.com Mon Sep 29 10:18:11 2003 From: ryabchuk@yahoo.com (Aleksey Ryabchuk) Date: Mon, 29 Sep 2003 02:18:11 -0700 (PDT) Subject: [Mono-winforms-list] Scrollbars -- Initial Value -- Bug In-Reply-To: <1064693553.5585.2.camel@localhost.localdomain> Message-ID: <20030929091811.82832.qmail@web10905.mail.yahoo.com> Hello Timothy, I looked at the source code of ProgressBar control. You are right, it's a bug in the implementation. Regards Aleksey --- Timothy Parez wrote: > Hi, > > Those of you compiling and running control sample 12 > http://www.nullenvoid.com/mono/wiki/index.php/The%20ScrollBar%20Control.?PHPSESSID=76b811244aceeca5e92eea844c0640f6 > will notice that mono ignores the initial value of > the ProgressBar > control. > > So for example if the initial value for > ProgressBar.Value is set to 10, > it will not be drawn when the form is loaded. Have > any of you tried this > with the CVS of mono ? (I'm using 0,26) > > Thnx > Timothy P. > > __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com From cornelbarna@hotmail.com Mon Sep 29 09:16:56 2003 From: cornelbarna@hotmail.com (Cornel Barna) Date: Mon, 29 Sep 2003 11:16:56 +0300 Subject: [Mono-winforms-list] Window.Forms Problem Message-ID: Hi, I installed latest version of mono an wine. When i tried to run a simple application that uses windows.forms if fails. the message i get is: Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.Control ---> System.NullReferenceException: A null value was found where an object instance was required --- End of inner exception stack trace --- in (unmanaged) 00 System.Windows.Forms.Control:.ctor () in <0x0000e> 00 System.Windows.Forms.ScrollableControl:.ctor () in <0x00014> 00 System.Windows.Forms.ContainerControl:.ctor () in <0x00019> 00 System.Windows.Forms.Form:.ctor () in <0x00017> 00 XmlTreeView.frmXMLTreeView:.ctor () in <0x00054> 08 XmlTreeView.frmXMLTreeView:.ctor () in <0x0001e> 00 XmlTreeView.frmXMLTreeView:Main () Other aplications (console apps) works just fine, i have problems only with graphic application and i don't know where the problem come from (configuration problem ?!?) or how to solve it. Here is the source code (compiled with "mcs /r:System.Windows.Forms /r:System.Drawing /r:System.Data frmXMLTreeView.cs"): using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Xml; using System.IO; namespace XmlTreeView { public class frmXMLTreeView : System.Windows.Forms.Form { #region Constructors public frmXMLTreeView() { InitializeComponent(); } #endregion #region Variables private System.Windows.Forms.TreeView tvTreeView; private System.Windows.Forms.OpenFileDialog ofdOpenFileDialiog; private System.Windows.Forms.MenuItem mnuFile; private System.Windows.Forms.MenuItem mnuFileOpen; private System.Windows.Forms.TextBox txtFilename; private System.Windows.Forms.MainMenu mnuMainMenu; private System.Windows.Forms.MenuItem mnuFileExit; private System.ComponentModel.Container components = null; #endregion #region Methods private void updateTreeView(string filename) { try { txtFilename.Text = filename; tvTreeView.Nodes.Clear(); XmlDocument tmpxmldoc = new XmlDocument(); tmpxmldoc.Load(filename); FillTree(tmpxmldoc.DocumentElement, tvTreeView.Nodes); } catch(Exception ex) { txtFilename.Text = ex.Message; } } private void FillTree(XmlNode node, TreeNodeCollection parentnode) { // End recursion if the node is a text type if(node == null || node.NodeType == XmlNodeType.Text || node.NodeType == XmlNodeType.CDATA) return; TreeNodeCollection tmptreenodecollection = AddNodeToTree(node, parentnode); // Add all the children of the current node to the treeview foreach(XmlNode tmpchildnode in node.ChildNodes) { FillTree(tmpchildnode, tmptreenodecollection); } } private TreeNodeCollection AddNodeToTree(XmlNode node, TreeNodeCollection parentnode) { TreeNode newchildnode = CreateTreeNodeFromXmlNode(node); // if nothing to add, return the parent item if(newchildnode == null) return parentnode; // add the newly created tree node to its parent if(parentnode != null) parentnode.Add(newchildnode); return newchildnode.Nodes; } private TreeNode CreateTreeNodeFromXmlNode(XmlNode node) { TreeNode tmptreenode = new TreeNode(); if((node.HasChildNodes) && (node.FirstChild.Value != null)) { tmptreenode = new TreeNode(node.Name); TreeNode tmptreenode2 = new TreeNode(node.FirstChild.Value); tmptreenode.Nodes.Add(tmptreenode2); } else if(node.NodeType != XmlNodeType.CDATA) { tmptreenode = new TreeNode(node.Name); } return tmptreenode; } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } [STAThread] static void Main() { Application.Run(new frmXMLTreeView()); } #endregion #region Events private void mnuFileOpen_Click(object sender, System.EventArgs e) { if(ofdOpenFileDialiog.ShowDialog() == DialogResult.OK) updateTreeView(ofdOpenFileDialiog.FileName); } private void mnuFileExit_Click(object sender, System.EventArgs e) { Application.Exit(); } #endregion #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.tvTreeView = new System.Windows.Forms.TreeView(); this.ofdOpenFileDialiog = new System.Windows.Forms.OpenFileDialog(); this.txtFilename = new System.Windows.Forms.TextBox(); this.mnuMainMenu = new System.Windows.Forms.MainMenu(); this.mnuFile = new System.Windows.Forms.MenuItem(); this.mnuFileOpen = new System.Windows.Forms.MenuItem(); this.mnuFileExit = new System.Windows.Forms.MenuItem(); this.SuspendLayout(); // // tvTreeView // this.tvTreeView.ImageIndex = -1; this.tvTreeView.Location = new System.Drawing.Point(9, 30); this.tvTreeView.Name = "tvTreeView"; this.tvTreeView.SelectedImageIndex = -1; this.tvTreeView.Size = new System.Drawing.Size(392, 394); this.tvTreeView.TabIndex = 0; // // ofdOpenFileDialiog // this.ofdOpenFileDialiog.Filter = "Xml Files |*.xml"; // // txtFilename // this.txtFilename.BackColor = System.Drawing.Color.White; this.txtFilename.Location = new System.Drawing.Point(10, 4); this.txtFilename.Name = "txtFilename"; this.txtFilename.ReadOnly = true; this.txtFilename.Size = new System.Drawing.Size(391, 20); this.txtFilename.TabIndex = 1; this.txtFilename.Text = ""; // // mnuMainMenu // this.mnuMainMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.mnuFile}); // // mnuFile // this.mnuFile.Index = 0; this.mnuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.mnuFileOpen, this.mnuFileExit}); this.mnuFile.Text = "&File"; // // mnuFileOpen // this.mnuFileOpen.Index = 0; this.mnuFileOpen.Text = "&Open"; this.mnuFileOpen.Click += new System.EventHandler(this.mnuFileOpen_Click); // // mnuFileExit // this.mnuFileExit.Index = 1; this.mnuFileExit.Text = "&Exit"; this.mnuFileExit.Click += new System.EventHandler(this.mnuFileExit_Click); // // frmXMLTreeView // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(410, 435); this.Controls.Add(this.txtFilename); this.Controls.Add(this.tvTreeView); this.Menu = this.mnuMainMenu; this.Name = "frmXMLTreeView"; this.Text = "Xml TreeView"; this.ResumeLayout(false); } #endregion } } Pleasse help! Cornel _________________________________________________________________ MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus From miguel@ximian.com Mon Sep 29 23:59:15 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 29 Sep 2003 18:59:15 -0400 Subject: [Mono-winforms-list] Win32 API shared libaries In-Reply-To: <1064498502.3855.23.camel@diphthong> References: <003801c38255$4ffc4630$7a7b46d9@omegasoft> <1064406960.25334.0.camel@diphthong> <1064498502.3855.23.camel@diphthong> Message-ID: <1064876355.23354.700.camel@erandi.boston.ximian.com> Hello Duncan, > I just installed the package and this is what I see: Am going to need some help from you, could you run mono with strace (or add a printf to the dlopen code in Mono) to track down *why* the new packages are not working, or why they fail to load the libuser32dll.so Miguel