I have got a problem that at least did not exist in BentleyMap SS2. I have veryfied that it exist in Bentley Map SS3 built 95 and sadly enough also in the new service release with built no 107.
In short:
I have a small Mvba app that defines a new featureclass OisPunkt with a number of properties. Then I create a number of these features and I can check that they are created with the properties. BUT when I start the databrowser it will not accept the feature Class defintion and show only the feature instance without properties.
Documentation:
FeatureClasse definition
:
Mvba code creating and verifying the feature class definitions:
CreateFeatureClass and AddPropertyToFeatureClasse are both functions in a MDL DLL
Public Sub StartOisClient(ByVal feltliste As String)Set OISclient = CreateObject("OISlib.OISclient")If OISclient.SetLogon(OISUSER, OISPWD) = False Then'ved at spørge på paramtren sættes denEnd IfIf modX34featdef.TjekFeatDef("OisPunkt") = False Then CreateFeatureClass StrPtr("OisPunkt"), XFMFEATUREGISTYPE_PointLineEnd IfIf modX34featdef.TjekFeatAttribDef("OisPunkt", "MATR_NR") = False Then AddPropertyToFeatureClass StrPtr("OisPunkt"), StrPtr("MATR_NR"), XFM_DATATYPE_STRING, 10 AddPropertyToFeatureClass StrPtr("OisPunkt"), StrPtr("EJERLAV"), XFM_DATATYPE_STRING, 80End IfDim Felt As VariantDim strFelt As StringFor Each Felt In Split(felt_liste, ",") strFelt = Felt If modX34featdef.TjekFeatAttribDef("OisPunkt", strFelt) = False Then AddPropertyToFeatureClass StrPtr("OisPunkt"), StrPtr(strFelt), XFM_DATATYPE_STRING, 80 End IfNextmodX34featdef.DumpFeatureDefinitionProperties "OisPunkt"End Sub
Here comes the code for DumpFeatureDefinitionProperties:
Public Sub DumpFeatureDefinitionProperties(FeatureName As String) Debug.Print "--------" Dim message As String Dim oFeatureDef As FeatureDef On Error GoTo *** Set oFeatureDef = xft.FeatureMgr.GetFeatureDefinition(FeatureName) Dim strGeomType As String Select Case oFeatureDef.GeometryType Case 0: strGeomType = "UNKNOWN" Case 1: strGeomType = "LINE STRING or CURVE" Case 2: strGeomType = "POLYGON" Case 3: strGeomType = "POINT" Case 4: strGeomType = "TEXT" End Select message = "FeatureClass: " & oFeatureDef.Name & ", " & strGeomType dmsgPrint StrPtr(message) Dim numProperties As Long numProperties = oFeatureDef.PropertyCount Dim propertyIndex As Long For propertyIndex = 0 To (numProperties - 1) Dim oPropertyDef As PropertyDef Set oPropertyDef = oFeatureDef.GetPropertyDefinition(propertyIndex) message = " " & oPropertyDef.Name & ", " & oPropertyDef.TypeName dmsgPrint StrPtr(message) 'Debug.Print oPropertyDef.Name, oPropertyDef.TypeName Next***:End Sub
Here comes a Analyze Feature of one of the newly created features:
And last the Databrowser:
What has happen since version SS2 since the Databrowser (and the Edit feature function as well) no longer uses the feature Class definition cache
If I close Bentley map and open with the same designfile the Dynamic Feature Scoring findes the properties (offcause)
Erik Wirring
LE34