Apertura de un ActiveX tipo MAPA

Apertura de un ActiveX tipo MAPA

Postby cmsoft » Fri Mar 07, 2014 7:24 pm

Estimados:
Intento abrir un ActiveX del tipo Mapa de un objeto MapWinGis.
Dicho control OCX lo descargue de el proyecto OpenSource MapWinGis ( mapwingis.codeplex.com)
Lo hago de la siguiente manera:
Code: Select all  Expand view

#include "FiveWin.ch"
static oActiveX, oWnd
function Main()
      DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Gis Support"
      oActiveX := TActiveX():New( oWnd, "MapWinGis.Map.1" )
      oWnd:oClient = oActiveX
      ACTIVATE WINDOW oWnd
oActiveX:Destroy()
return nil
 

Lo abre bien y me muestra un cursor con forma de lupa para agrandar...
El problema se me presenta cuando quiero incluirle un Shapefile (Formato ESRI (SHP) de archivos tipo ArcGIS), ya que el mismo, es otro control con sus caracteristicas particulares. Me da un error de argumentos y no me deja abrir el archivo.
Intento llamar en el ON INIT de oWnd a la función mapa que es la siguiente:
Code: Select all  Expand view
STATIC FUNCTION Mapa
LOCAL oLayer, oErr
TRY
      oLayer := CreateObject("MapWinGis.Shapefile.1")
      oActiveX:oOleAuto:AddLayer(oLayer,.t.)
      oActiveX:oOleAuto:Shapefile(0)
       IF FILE("C:\gis\esri\ESRIDATA\WORLD\CITIES.shp")
         oLayer:Open("C:\gis\esri\ESRIDATA\WORLD\CITIES.shp",)  // Esto me da error de argumento
      ENDIF
      *oActiveX:oOleAuto:ReDraw()
CATCH oErr
      MsgInfo("Error "+c+" "+oErr:description)
END TRY
RETURN nil
 

Mirando la estructura de los controles con el programa OleBrowse que creo antonio http://forums.fivetechsupport.com/viewtopic.php?f=6&t=26276&hilit=word+application&start=60#p144732 el mismo me devuelve lo siguiente
Code: Select all  Expand view
STDCALL dispatch FUNC BSTR Serialize( [in] VARIANT_BOOL )
STDCALL dispatch FUNC Error QuickPoints( [in] int, [out] PTR )
STDCALL dispatch FUNC PTR AggregateShapes( [in] VARIANT_BOOL, [defaultvalue] int )
STDCALL dispatch FUNC PTR BufferByDistance( [in] double, [in] int, [in] VARIANT_BOOL, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR Clip( [in] VARIANT_BOOL, [in] PTR, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR Clone()
STDCALL dispatch FUNC PTR Difference( [in] VARIANT_BOOL, [in] PTR, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR Dissolve( [in] int, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR ExplodeShapes( [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR ExportSelection()
STDCALL dispatch FUNC PTR GetIntersection( [in] VARIANT_BOOL, [in] PTR, [in] VARIANT_BOOL, [in] USERDEFINED, [defaultvalue] PTR )
STDCALL dispatch FUNC PTR Merge( [in] VARIANT_BOOL, [in] PTR, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR QuickExtents( [in] int )
STDCALL dispatch FUNC PTR QuickPoint( [in] int, [in] int )
STDCALL dispatch FUNC PTR Reproject( [in] PTR, [out] PTR )
STDCALL dispatch FUNC PTR SimplifyLines( [in] double, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR Sort( [in] int, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR SymmDifference( [in] VARIANT_BOOL, [in] PTR, [in] VARIANT_BOOL )
STDCALL dispatch FUNC PTR Union( [in] VARIANT_BOOL, [in] PTR, [in] VARIANT_BOOL )
STDCALL dispatch FUNC VARIANT_BOOL BeginPointInShapefile()
STDCALL dispatch FUNC VARIANT_BOOL Close()
STDCALL dispatch FUNC VARIANT_BOOL CreateNew( [in] BSTR, [in] USERDEFINED )
STDCALL dispatch FUNC VARIANT_BOOL CreateNewWithShapeID( [in] BSTR, [in] USERDEFINED )
STDCALL dispatch FUNC VARIANT_BOOL CreateSpatialIndex( [in] BSTR )
STDCALL dispatch FUNC VARIANT_BOOL EditCellValue( [in] int, [in] int, [in] VARIANT )
STDCALL dispatch FUNC VARIANT_BOOL EditClear()
STDCALL dispatch FUNC VARIANT_BOOL EditDeleteField( [in] int, [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL EditDeleteShape( [in] int )
STDCALL dispatch FUNC VARIANT_BOOL EditInsertField( [in] PTR, [out] PTR, [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL EditInsertShape( [in] PTR, [out] PTR )
STDCALL dispatch FUNC VARIANT_BOOL FixUpShapes( [out] PTR )
STDCALL dispatch FUNC VARIANT_BOOL HasInvalidShapes()
STDCALL dispatch FUNC VARIANT_BOOL IsSpatialIndexValid()
STDCALL dispatch FUNC VARIANT_BOOL Open( [in] BSTR, [optional] PTR )       <<<<============== Esta es la que me interesa
STDCALL dispatch FUNC VARIANT_BOOL PointInShape( [in] int, [in] double, [in] double )
STDCALL dispatch FUNC VARIANT_BOOL RefreshExtents()
STDCALL dispatch FUNC VARIANT_BOOL RefreshShapeExtents( [in] int )
STDCALL dispatch FUNC VARIANT_BOOL ReprojectInPlace( [in] PTR, [out] PTR )
STDCALL dispatch FUNC VARIANT_BOOL Resource( [in] BSTR )
STDCALL dispatch FUNC VARIANT_BOOL Save( [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL SaveAs( [in] BSTR, [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL SelectByShapefile( [in] PTR, [in] USERDEFINED, [in] VARIANT_BOOL, [out] PTR, [defaultvalue] PTR )
STDCALL dispatch FUNC VARIANT_BOOL SelectShapes( [in] PTR, [defaultvalue] double, [defaultvalue] USERDEFINED, [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL StartEditingShapes( [defaultvalue] VARIANT_BOOL, [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL StartEditingTable( [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL StopEditingShapes( [defaultvalue] VARIANT_BOOL, [defaultvalue] VARIANT_BOOL, [optional] PTR )
STDCALL dispatch FUNC VARIANT_BOOL StopEditingTable( [defaultvalue] VARIANT_BOOL, [optional] PTR )
STDCALL dispatch FUNC int EditAddField( [in] BSTR, [in] USERDEFINED, [in] int, [in] int )
STDCALL dispatch FUNC int EditAddShape( [in] PTR )
STDCALL dispatch FUNC int GenerateLabels( [in] int, [in] USERDEFINED, [defaultvalue] VARIANT_BOOL )
STDCALL dispatch FUNC int PointInShapefile( [in] double, [in] double )
STDCALL dispatch FUNC unsigned long AddRef()
STDCALL dispatch FUNC unsigned long Release()
STDCALL dispatch FUNC void Deserialize( [in] VARIANT_BOOL, [in] BSTR )
STDCALL dispatch FUNC void EndPointInShapefile()
STDCALL dispatch FUNC void GetIDsOfNames( [in] PTR, [in] PTR, [in] unsigned int, [in] unsigned long, [out] PTR )
STDCALL dispatch FUNC void GetTypeInfo( [in] unsigned int, [in] unsigned long, [out] PTR )
STDCALL dispatch FUNC void GetTypeInfoCount( [out] PTR )
STDCALL dispatch FUNC void InvertSelection()
STDCALL dispatch FUNC void Invoke( [in] int, [in] PTR, [in] unsigned long, [in] unsigned short, [in] PTR, [out] PTR, [out] PTR, [out] PTR )
STDCALL dispatch FUNC void QueryInterface( [in] PTR, [out] PTR )
STDCALL dispatch FUNC void SelectAll()
STDCALL dispatch FUNC void SelectNone()
STDCALL dispatch PROPERTYGET BSTR CdlgFilter()
STDCALL dispatch PROPERTYGET BSTR ErrorMsg( [in] int )
STDCALL dispatch PROPERTYGET BSTR Filename()
STDCALL dispatch PROPERTYGET BSTR Key()
STDCALL dispatch PROPERTYGET BSTR Projection()
STDCALL dispatch PROPERTYGET BSTR ShapeCategory2( error int )
STDCALL dispatch PROPERTYGET BSTR VisibilityExpression()
STDCALL dispatch PROPERTYGET BYTE SelectionTransparency()
STDCALL dispatch PROPERTYGET PTR Categories()
STDCALL dispatch PROPERTYGET PTR Charts()
STDCALL dispatch PROPERTYGET PTR DefaultDrawingOptions()
STDCALL dispatch PROPERTYGET PTR Extents()
STDCALL dispatch PROPERTYGET PTR Field( [in] int )
STDCALL dispatch PROPERTYGET PTR FieldByName( [in] BSTR )
STDCALL dispatch PROPERTYGET PTR GeoProjection()
STDCALL dispatch PROPERTYGET PTR GlobalCallback()
STDCALL dispatch PROPERTYGET PTR Labels()
STDCALL dispatch PROPERTYGET PTR SelectionDrawingOptions()
STDCALL dispatch PROPERTYGET PTR Shape( [in] int )
STDCALL dispatch PROPERTYGET PTR ShapeCategory3( error int )
STDCALL dispatch PROPERTYGET PTR Table()
STDCALL dispatch PROPERTYGET USERDEFINED CollisionMode()
STDCALL dispatch PROPERTYGET USERDEFINED GeometryEngine()
STDCALL dispatch PROPERTYGET USERDEFINED SelectionAppearance()
STDCALL dispatch PROPERTYGET USERDEFINED SelectionColor()
STDCALL dispatch PROPERTYGET USERDEFINED ShapefileType()
STDCALL dispatch PROPERTYGET USERDEFINED SourceType()
STDCALL dispatch PROPERTYGET VARIANT CellValue( [in] int, [in] int )
STDCALL dispatch PROPERTYGET VARIANT_BOOL CacheExtents()
STDCALL dispatch PROPERTYGET VARIANT_BOOL CanUseSpatialIndex( [in] PTR )
STDCALL dispatch PROPERTYGET VARIANT_BOOL EditingShapes()
STDCALL dispatch PROPERTYGET VARIANT_BOOL EditingTable()
STDCALL dispatch PROPERTYGET VARIANT_BOOL FastMode()
STDCALL dispatch PROPERTYGET VARIANT_BOOL HasSpatialIndex()
STDCALL dispatch PROPERTYGET VARIANT_BOOL ShapeSelected( [in] int )
STDCALL dispatch PROPERTYGET VARIANT_BOOL UseQTree()
STDCALL dispatch PROPERTYGET VARIANT_BOOL UseSpatialIndex()
STDCALL dispatch PROPERTYGET double SpatialIndexMaxAreaPercent()
STDCALL dispatch PROPERTYGET int FileHandle()
STDCALL dispatch PROPERTYGET int LastErrorCode()
STDCALL dispatch PROPERTYGET int MinDrawingSize()
STDCALL dispatch PROPERTYGET int NumFields()
STDCALL dispatch PROPERTYGET int NumSelected()
STDCALL dispatch PROPERTYGET int NumShapes()
STDCALL dispatch PROPERTYGET int ShapeCategory( [in] int )
STDCALL dispatch PROPERTYGET int numPoints( [in] int )
STDCALL dispatch PROPERTYPUT void CacheExtents( [in] VARIANT_BOOL )
STDCALL dispatch PROPERTYPUT void Categories( [in] PTR )
STDCALL dispatch PROPERTYPUT void Charts( [in] PTR )
STDCALL dispatch PROPERTYPUT void CollisionMode( [in] USERDEFINED )
STDCALL dispatch PROPERTYPUT void DefaultDrawingOptions( [in] PTR )
STDCALL dispatch PROPERTYPUT void FastMode( [in] VARIANT_BOOL )
STDCALL dispatch PROPERTYPUT void GeoProjection( [in] PTR )
STDCALL dispatch PROPERTYPUT void GeometryEngine( [in] USERDEFINED )
STDCALL dispatch PROPERTYPUT void GlobalCallback( [in] PTR )
STDCALL dispatch PROPERTYPUT void HasSpatialIndex( [in] VARIANT_BOOL )
STDCALL dispatch PROPERTYPUT void Key( [in] BSTR )
STDCALL dispatch PROPERTYPUT void Labels( [in] PTR )
STDCALL dispatch PROPERTYPUT void MinDrawingSize( [in] int )
STDCALL dispatch PROPERTYPUT void Projection( [in] BSTR )
STDCALL dispatch PROPERTYPUT void SelectionAppearance( [in] USERDEFINED )
STDCALL dispatch PROPERTYPUT void SelectionColor( [in] USERDEFINED )
STDCALL dispatch PROPERTYPUT void SelectionDrawingOptions( [in] PTR )
STDCALL dispatch PROPERTYPUT void SelectionTransparency( [in] BYTE )
STDCALL dispatch PROPERTYPUT void ShapeCategory( [in] int, [in] int )
STDCALL dispatch PROPERTYPUT void ShapeCategory2( error int, [in] BSTR )
STDCALL dispatch PROPERTYPUT void ShapeCategory3( error int, [in] PTR )
STDCALL dispatch PROPERTYPUT void ShapeSelected( [in] int, [in] VARIANT_BOOL )
STDCALL dispatch PROPERTYPUT void SpatialIndexMaxAreaPercent( [in] double )
STDCALL dispatch PROPERTYPUT void StopExecution( [in] PTR )
STDCALL dispatch PROPERTYPUT void UseQTree( [defaultvalue] VARIANT_BOOL )
STDCALL dispatch PROPERTYPUT void UseSpatialIndex( [in] VARIANT_BOOL )
STDCALL dispatch PROPERTYPUT void VisibilityExpression( [in] BSTR )
 

La que me interesa es Open.
He visto los ejemplos en VB
Code: Select all  Expand view
Private Sub frmMain_Load() Handles MyBase.Load
LoadData()
End Sub
Private Sub LoadData()
Dim sfWorld As New MapWinGIS.Shapefile
sfWorld.Open("C:\...\world_adm0.shp")
mapMain.AddLayer(sfWorld, True)
End Sub

Y no parecen tener demasiado secreto, pero a mi no me funciona en FW que es lo que quiero, ja!
Agradeceré cualquier ayuda para seguir probando
Desde ya muchas gracias a todos
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 58 guests