Re: [MAPSERVER-USERS] mapserver MSVC2005 development package available to download (was mssql2008 binary test package available to download)

Lucena, Ivan ivan.lucena at pmldnet.com
Fri Oct 24 03:47:24 EDT 2008


Paul,

I do it all the time with GDAL makefile projects.

What you need to do is to create a new project in VS selecting the project type as "make file project" that will lead you to a wizard IU where you are going to inform now do you want VS to call your makefile for Buil, Rebuild and Clean. The next step is to manually add each folder and source code that your want to see on the project explorer source code tree. Yes, it is a lot of work if you want to browse through the whole thing. See GDAL's makegdal_gen.bat for an automatic way of creating the source tree [http://trac.osgeo.org/gdal/browser/trunk/gdal/makegdal_gen.bat].

After that it is all the same as in a regular VS project. Breakpoints, step-into, step-out, watch windows, etc.

Good luck,

Ivan


>  -------Original Message-------
>  From: BrainDrain <paulborodaev at gmail.com>
>  Subject: Re: [MAPSERVER-USERS] mapserver MSVC2005 development package	available to download (was mssql2008 binary test package available to	download)
>  Sent: Oct 24 '08 07:23
>  
>  
>  That's great! Thanks.
>  One question.
>  As long as I'm windows developer, spoilt by visual studio:
>  how to debug an app using IDE when building performed by makefile? When no
>  VS project/solution file available? How you doing this? (tools/methods
>  (debug console output? without 'watch window'?)).
>  
>  Best regards,
>  
>  Paul
>  
>  
>  Tamas Szekeres wrote:
>  >
>  > Here is my daily snapshot including the fast cgi support:
>  >
>  > http://vbkto.dyndns.org:1280/tests/release-1400-20081023.zip
>  >
>  >
>  > I've created a development package to compile mapserver from the sources:
>  >
>  > http://vbkto.dyndns.org:1280/tests/release-1400-dev.zip
>  >
>  > You can use the following steps to compile mapserver.
>  >
>  > 1. Extract the contents to a directory (for example
>  > "C:\builds\release-1400-dev")
>  > 2. Open Microsoft Visual Studio 2005 Command Prompt
>  > 3. > cd C:\builds\release-1400-dev
>  > 4. > nmake -f makefile.vc ms MS_DIR=mapserver
>  > BASE_DIR=C:\builds\release-1400-dev
>  > 5. > nmake -f makefile.vc ms-sql2008 MS_DIR=mapserver
>  > BASE_DIR=C:\builds\release-1400-dev
>  > 5. > nmake -f makefile.vc ms-csharp MS_DIR=mapserver
>  > BASE_DIR=C:\builds\release-1400-dev
>  >
>  >
>  > This package is based on the development version of gdal and
>  > mapserver, but you can download the stable version of gdal and
>  > mapserver sources in the base directory if you require a stable
>  > version build
>  > In this case you must specify these directories for MS_DIR and
>  > GDAL_DIR at the command like, like:
>  >
>  >> nmake -f makefile.vc gdal GDAL_DIR=gdal-1-5
>  >> BASE_DIR=C:\builds\release-1400-dev
>  >> nmake -f makefile.vc ms MSL_DIR=mapserver-5-2
>  >> BASE_DIR=C:\builds\release-1400-dev
>  >
>  >
>  > If you require a corresponding package for the MSVC2003 based builds
>  > let me know.
>  >
>  > Best regards,
>  >
>  > Tamas
>  >
>  >
>  >
>  > 2008/10/20 BrainDrain <paulborodaev at gmail.com>:
>  >>
>  >> Thank you very much, Tamas.
>  >> getFeature works fine now.
>  >>
>  >> But can I ask you for one more favour. Could you compile with fastcgi
>  >> support (ideally with all ms4w production release flags) or share 'your
>  >> working buildkit' (this just will be great!, not only for me) because I
>  >> still have problems with compiling ms4w(( but I need sql2008 support
>  >> feature
>  >> as soon as it possible for my work. I would be very appreciate.
>  >>
>  >> Tamas Szekeres wrote:
>  >>>
>  >>> Folks,
>  >>>
>  >>> Yes, I've run into the same issue when using the getFeature method
>  >>> with the driver. Here is the corresponding ticket I've created:
>  >>> http://trac.osgeo.org/mapserver/ticket/2795
>  >>>
>  >>> Attached the C# test case with this ticket:
>  >>> http://trac.osgeo.org/mapserver/attachment/ticket/2795/Program.cs
>  >>>
>  >>>
>  >>> I've fixed this issue in the SVN-trunk and the stable branch, here is
>  >>> my daily snapsot of the binaries you can test with:
>  >>> http://vbkto.dyndns.org:1280/tests/release-1400-20081018.zip
>  >>>
>  >>> If you encounter further problems with the driver don't hesitate to
>  >>> file a ticket describing the issue.
>  >>>
>  >>> Just for a note: This driver doesn't make any character encodings with
>  >>> the values retieved as plain byte arrays from MSSQL, however your
>  >>> default database setting corresponds to the
>  >>> 1251 codepage, so explicit character conversion may be required in C#,
>  >>> like:
>  >>>
>  >>> byte[] bytes = Encoding.Convert(Encoding.Unicode, Encoding.Default,
>  >>> Encoding.Unicode.GetBytes(shape.getValue(k)));
>  >>> string str = Encoding.GetEncoding(1251).GetString(bytes);
>  >>>
>  >>>
>  >>> Best regards,
>  >>>
>  >>> Tamas
>  >>>
>  >>>
>  >>>
>  >>> 2008/10/17 BrainDrain <paulborodaev at gmail.com>:
>  >>>>
>  >>>> hmm
>  >>>>>>could you provide an example to this
>  >>>> how can I help If I use mapscript?
>  >>>>    [WebService(Namespace = "http://www.wem.volgadmin.ru/wemlib")]
>  >>>>    [WebServiceBinding(ConformsTo = WsiProfiles.None)]
>  >>>>    [ScriptService]
>  >>>>    public class MapParser : System.Web.Services.WebService
>  >>>>    {
>  >>>>        [WebMethod(EnableSession = true)]
>  >>>>        [ScriptMethod(UseHttpGet = true)]
>  >>>>        public object RequestFeatureAttributes(object mapIndex, object
>  >>>> layerIndex, int[] featureIndexes, string[] fieldNames, bool envelope)
>  >>>>        {
>  >>>>            mapObj map;
>  >>>>            layerObj layer = null;
>  >>>>            shapeObj shape;
>  >>>>            int entryIndex = -1, i, j, len = featureIndexes.Length;
>  >>>>            object[] res = new object[len];
>  >>>>            Dictionary<string, object> valueBag, record;
>  >>>>
>  >>>>            if (Util.isNumeric(mapIndex.ToString(),
>  >>>> NumberStyles.Integer))
>  >>>>            {
>  >>>>                mapIndex = (object)Convert.ToInt32(mapIndex);
>  >>>>            }
>  >>>>            if (Util.isNumeric(layerIndex.ToString(),
>  >>>> NumberStyles.Integer))
>  >>>>            {
>  >>>>                layerIndex = (object)Convert.ToInt32(layerIndex);
>  >>>>            }
>  >>>>            KeyValuePair<string, object> entry =
>  >>>> Util.getEntry((Dictionary<string, object>)Session["maps"],
>  >>>> (mapIndex.GetType() == typeof(int)) ? mapIndex :
>  >>>> Util.normalizePath((string)mapIndex), out entryIndex);
>  >>>>            map = (mapObj)entry.Value;//.clone()
>  >>>>            if (layerIndex.GetType() == typeof(int))
>  >>>>            {
>  >>>>                layer = map.getLayer((int)layerIndex);
>  >>>>            }
>  >>>>            else
>  >>>>            {
>  >>>>                if (layerIndex.GetType() == typeof(string))
>  >>>>                {
>  >>>>                    layer = map.getLayerByName((string)layerIndex);
>  >>>>                }
>  >>>>            }
>  >>>>
>  >>>>            layer.open();
>  >>>>            object def;
>  >>>>            List<int> fieldIndexes = new List<int>();
>  >>>>            List<string> list = new List<string>();
>  >>>>            if (fieldNames != null)
>  >>>>            {
>  >>>>                for (i = 0; i < layer.numitems; i++)
>  >>>>                {
>  >>>>                    if
>  >>>> (((ICollection<string>)fieldNames).Contains(layer.getItem(i)))
>  >>>>                    {
>  >>>>                        fieldIndexes.Add(i);
>  >>>>                    }
>  >>>>                }
>  >>>>            }
>  >>>>
>  >>>>            for (i = 0; i < len; i++)
>  >>>>            {
>  >>>>                try
>  >>>>                {
>  >>>>                    using (shape = layer.getFeature(featureIndexes[i],
>  >>>> -1))
>  >>>> //here exception occurs
>  >>>>                    {
>  >>>>
>  >>>>                        string[] values;
>  >>>>
>  >>>>                        if (fieldNames != null)
>  >>>>                        {
>  >>>>                            if (fieldNames.Length > 0)
>  >>>>                            {
>  >>>>                                list.Clear();
>  >>>>                                for (j = 0; j < fieldIndexes.Count; j++)
>  >>>>                                {
>  >>>>
>  >>>> list.Add(shape.values[fieldIndexes[j]]);
>  >>>>                                }
>  >>>>                                values = list.ToArray();
>  >>>>                            }
>  >>>>                            else
>  >>>>                            {
>  >>>>                                values = new string[1] {
>  >>>> featureIndexes[i].ToString() };
>  >>>>                            }
>  >>>>                        }
>  >>>>                        else
>  >>>>                        {
>  >>>>                            values = shape.values;
>  >>>>                        }
>  >>>>                        valueBag = new Dictionary<string, object>();
>  >>>>
>  >>>>                        for (j = 0; j < values.Length; j++)
>  >>>>                        {
>  >>>>                            valueBag[j.ToString()] = values[j];
>  >>>>
>  >>>>                        }
>  >>>>                        if (envelope)
>  >>>>                        {
>  >>>>                            record = new Dictionary<string, object>();
>  >>>>                            if (len > 1)
>  >>>>                            {
>  >>>>                                record[featureIndexes[i].ToString()] =
>  >>>> (object)valueBag;//?
>  >>>>                            }
>  >>>>                            else
>  >>>>                            {
>  >>>>                                record[entryIndex.ToString() + ' ' +
>  >>>> layer.index.ToString() + ' ' + featureIndexes[i].ToString()] =
>  >>>> (object)valueBag;//?
>  >>>>                            }
>  >>>>                            res[i] = record;
>  >>>>                        }
>  >>>>                        else
>  >>>>                        {
>  >>>>                            res[i] = valueBag;
>  >>>>                        }
>  >>>>                    }
>  >>>>                }
>  >>>>                catch { }
>  >>>>            }
>  >>>>            layer.close();
>  >>>>            return (len > 1) ? ((envelope) ? new Dictionary<string,
>  >>>> object>() { { entryIndex.ToString() + ' ' + layer.index.ToString(), res
>  >>>> }
>  >>>> }
>  >>>> : (object)res) : res[0];
>  >>>>        }
>  >>>> }
>  >>>>
>  >>>> Again access violation exception after modifying mapfile.
>  >>>> Sql profiler says that query batch (select convert(varchar(max),
>  >>>> STATUS),convert(varchar(max), STAGE),convert(varchar(max), id),GEOM
>  >>>> from
>  >>>> dbo.Construct where id = 190748) completed successfully
>  >>>>
>  >>>>
>  >>>> Tamas Szekeres wrote:
>  >>>>>
>  >>>>> 2008/10/16 BrainDrain <paulborodaev at gmail.com>:
>  >>>>>> -without "WITH(INDEX..." in mapfile data section - mem corruption
>  >>>>>> exception
>  >>>>>> on "shape = layer.getFeature(featureIndexe, -1)" after successful
>  >>>>>> execution
>  >>>>>> of queryByPoint (querying the largest polygon in my geodb);
>  >>>>>
>  >>>>> I didn't encounter any memory corruption error here, could you provide
>  >>>>> an example to this?
>  >>>>> I've set up your database with IIS and apache with the following
>  >>>>> links:
>  >>>>> http://vbkto.dyndns.org:1280/cgi-bin/mapserv.exe?mode=map&map=test2008.map
>  >>>>> http://vbkto.dyndns.org:1080/cgi-bin/mapserv.exe?mode=map&map=test2008.map
>  >>>>>
>  >>>>>
>  >>>>>> -with using "WITH(INDEX...":
>  >>>>>> msMSSQL2008LayerGetShape(): Query error. Error executing MSSQL2008
>  >>>>>> SQL
>  >>>>>> statement: select convert(varchar(max), STATUS),convert(varchar(max),
>  >>>>>> STAGE),convert(varchar(max), id),GEOM from dbo.Construct
>  >>>>>> WITH(INDEX(SIndx_Construct_geometry_geom)) where id = 190748
>  >>>>>> -[Microsoft][ODBC SQL Server Driver][SQL Server]Query processor could
>  >>>>>> not
>  >>>>>> produce a query plan because of the hints defined in this query.
>  >>>>>> Resubmit
>  >>>>>> the query without specifying any hints and without using SET
>  >>>>>> FORCEPLAN.
>  >>>>>> When I'm trying to execute this select statement in man. studio -
>  >>>>>> error
>  >>>>>> message - the same.
>  >>>>>> I think because where clause don't contains conditions related to
>  >>>>>> spatial
>  >>>>>> index used in 'WITH' hint.
>  >>>>>
>  >>>>> You're right, just looking into the code here is a possible solution:
>  >>>>>
>  >>>>> DATA "GEOM from dbo.Construct USING UNIQUE id USING SRID=0 USING INDEX
>  >>>>> SIndx_Construct_geometry_geom"
>  >>>>>
>  >>>>>
>  >>>>>
>  >>>>> Best regards,
>  >>>>>
>  >>>>> Tamas
>  >>>>> _______________________________________________
>  >>>>> mapserver-users mailing list
>  >>>>> mapserver-users at lists.osgeo.org
>  >>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>  >>>>>
>  >>>>>
>  >>>>
>  >>>> --
>  >>>> View this message in context:
>  >>>> http://www.nabble.com/mssql2008-binary-test-package-available-to-download-tp19956347p20027820.html
>  >>>> Sent from the Mapserver - User mailing list archive at Nabble.com.
>  >>>>
>  >>>> _______________________________________________
>  >>>> mapserver-users mailing list
>  >>>> mapserver-users at lists.osgeo.org
>  >>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>  >>>>
>  >>> _______________________________________________
>  >>> mapserver-users mailing list
>  >>> mapserver-users at lists.osgeo.org
>  >>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>  >>>
>  >>>
>  >>
>  >> --
>  >> View this message in context:
>  >> http://www.nabble.com/mssql2008-binary-test-package-available-to-download-tp19956347p20065718.html
>  >> Sent from the Mapserver - User mailing list archive at Nabble.com.
>  >>
>  >> _______________________________________________
>  >> mapserver-users mailing list
>  >> mapserver-users at lists.osgeo.org
>  >> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>  >>
>  > _______________________________________________
>  > mapserver-users mailing list
>  > mapserver-users at lists.osgeo.org
>  > http://lists.osgeo.org/mailman/listinfo/mapserver-users
>  >
>  >
>  
>  --
>  View this message in context: http://www.nabble.com/mapserver-MSVC2005-development-package-available-to-download-%28was-mssql2008-binary-test-package-available-to-download%29-tp20129726p20145478.html
>  Sent from the Mapserver - User mailing list archive at Nabble.com.
>  
>  _______________________________________________
>  mapserver-users mailing list
>  mapserver-users at lists.osgeo.org
>  http://lists.osgeo.org/mailman/listinfo/mapserver-users
>  


More information about the mapserver-users mailing list