Hi,
Currently im using Delphi7 to link data from a CSV, one field in the CSV is the symbol# to use, now i know that this carnt be mapped at load so i have been trying to use DisplayDataMap but when i try to use this function with geoMapTypeMulitpleSymbol i get a "Type Mismatch" exception each time, no matter what i seem to pass to it.
Id appreciate it if someone could review that paramerters im passing, the most frustating thing is. is that it all looks reasonable to me.
oh i also tried moveing the array index from 1 to 4 incase it was something to do with that, it sill caused the same problem.
Here is the code of the procdure that maps the data after it has been linked,
Code:procedure TMapForm.MapSymbols; var dMap : DataMap; DataSetToUse: DataSet; Index: OleVariant; DataMapType: GeoDataMapType; DataField: Field; ShowDataBy: GeoShowDataBy; CombineDataBy: GeoCombineDataBy; DataRangeType: GeoDataRangeType; DataRangeOrder: GeoDataRangeOrder; ColorScheme: Integer; DataRangeCount: Integer; ArrayOfCustomValues: OleVariant; ArrayOfCustomNames: OleVariant; DivideByField: OleVariant; ArrayOfDataFieldLabels: OleVariant; ArrayOfPushpinSymbols: OleVariant; begin Index := 'Index0'; DataSetToUse := mpcCameraMap.ActiveMap.DataSets.Item[Index]; DataMapType := geoDataMapTypeMultipleSymbol; Index := 'Symbol'; DataField := DataSetToUse.Fields[Index]; ShowDataBy := geoShowByDefault; CombineDataBy := geoCombineByNone; DataRangeType := geoRangeTypeUniqueValues; DataRangeOrder := geoRangeOrderLowToHigh; ColorScheme := 0; DataRangeCount := 4; ArrayOfCustomValues := VarArrayCreate([0,3], varVariant); ArrayOfCustomValues[0] := 111; ArrayOfCustomValues[1] := 122; ArrayOfCustomValues[2] := 123; ArrayOfCustomValues[3] := 133; ArrayOfCustomNames := VarArrayCreate([0,3], varVariant); ArrayOfCustomNames[0] := 'sym0'; ArrayOfCustomNames[1] := 'sym1'; ArrayOfCustomNames[2] := 'sym2'; ArrayOfCustomNames[3] := 'sym3'; DivideByField := ''; ArrayOfDataFieldLabels := VarArrayCreate([0,3], varVariant); ArrayOfDataFieldLabels[0] := '111'; ArrayOfDataFieldLabels[1] := '122'; ArrayOfDataFieldLabels[2] := '123'; ArrayOfDataFieldLabels[3] := '133'; ArrayOfPushpinSymbols := VarArrayCreate([0,3], varVariant); ArrayOfPushpinSymbols[0] := 10; ArrayOfPushpinSymbols[1] := 20; ArrayOfPushpinSymbols[2] := 30; ArrayOfPushpinSymbols[3] := 40; dMap := DataSetToUse.DisplayDataMap( DataMapType, DataField, ShowDataBy, CombineDataBy, DataRangeType, DataRangeOrder, ColorScheme, DataRangeCount, ArrayOfCustomValues, ArrayOfCustomNames, DivideByField, ArrayOfDataFieldLabels, ArrayOfPushpinSymbols);