mapx如何在delphi中操作,谢谢(100分)

  • 主题发起人 主题发起人 zzmbeyond01
  • 开始时间 开始时间
Z

zzmbeyond01

Unregistered / Unconfirmed
GUEST, unregistred user!
mapx能在delphi中划图,分层等操作吗
 
基本上能进行mapinfo的所有操作,当然要写些代码
 
当然可以了,你装一个试试就知道怎么用了。
 
procedure TMapForm.UnBound1Click(Sender: TObject);
var
flds: variant;
ds: variant;
unusedParam: OleVariant;
begin

TVarData(unusedParam).vType := varError;
TVarData(unusedParam).vError := DISP_E_PARAMNOTFOUND;

{Create the Fields object and then
add Fields for unbound dataset
´´½¨×ֶζÔÏ󣬲¢Ôö¼Ó×ֶθøδ°ó¶¨Êý¾Ý¼¯}
flds := CreateOleObject('MapX.Fields.4');
flds.add('State', 'State', miAggregationIndividual, miTypeString);
flds.add('Pop80', 'Pop80', miAggregationSum, miTypeNumeric);
flds.add('Pop90', 'Pop90', miAggregationSum, miTypeNumeric);

{Add a dataset passing in the Fields object}
ds := map1.datasets.add(miDatasetUnbound, unusedParam, unusedParam, 'State', unusedParam, 'USA', flds, unusedParam);
{Add an Individual Theme}
ds.Themes.Add(miThemeIndividualValue, 'State', 'StateByState');

UnBound1.Enabled := False;
end;

请问TVarData实现什麽功能?
unusedParam: OleVariant 这是什么意思?怎么用?
DISP_E_PARAMNOTFOUND 这是什么意思?怎么用?
 
procedure TForm1.CheckBox5Click(Sender: TObject);
begin

if mainunit.mapform.map1.layers.count > 0 then

lyr.selectable := checkbox5.checked
end;

selectable 此属性是否是确定鼠标点击处图层上的图元?
 
上面是切换所有图层是否可选择
 
你要的话可以给你个例子
 
TVarData(unusedParam).vType := varError;
TVarData(unusedParam).vError := DISP_E_PARAMNOTFOUN
这两句是什么意思,我也不是很明白?
有没有高手可以解释一下。
 
支持分层呀
 
to 峻祁连 和 所有热心人:
我把access中的数据通过professional中帮定到指定的图层上,然后创建Geoset,
当我在editable图层中添加图元时,报错:
“the change you requested to the table werenot successuful because they would
create duplicate values in the index,primary key,or relationships.change the
data in the field or fields that contain duplicate data,remove the index,or
redefine the index to permit duplicate entries and try again.

‘中文:由于产生重复的索引、主键或关联的复本,无法对.tab文件进行修改。修改包含重复
数据的字段和字段集,删除索引或重新定义索引,使之允许重复录入。’
主键我设的是栋号:必添字段->否,索引->有(无重复)
MAPINFO_ID(邦定完系统自动添加的):自动编号, 索引->有(无重复)


 
后退
顶部