起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: xxb

【搞定】X3下导入Dll运行时错误[请求][请求]

[复制链接]
 楼主| 发表于 2007-5-28 08:56:34 | 显示全部楼层
好的,你们上班很早的,关于88楼的问题可能是还没有创建'NavLayer'的图层
m_Layer := EyeMap.Layers.CreateLayer('NavLayer',nil,nil,nil,nil);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 09:24:03 | 显示全部楼层
procedure Register;
begin
  RegisterComponents('ActiveX',[TMap]);
  RegisterComponents(dtlServerPage, [TDataSets, TLayers, TLayerInfo, TLayer,
    TField, TDataset, TThemes, TTheme, TLegend,
    TAnnotations, TThemeProperties, TSelection, TFeature, TRangeCategory,
    TFields, TStyle, TIndividualValueCategory, TMultiVarCategory, TSourceRows,
    TSourceRow, TAnnotation, TGraphic, TLegendText, TLegendTexts,
    TTitle, TLabelProperties, TBindLayer, TRangeCategories, TIndividualValueCategories,
    TMultivarCategories, TBitmapSymbols, TRectangle, TBoundsConstraint, TFeaturesConstraint,
    TAllFeaturesConstraint, TFind, TFindFeature, TFindResult, TFindMatch,
    TFindMatches, TParts, TPoints, TPoint, TGeosets,
    TGeoSet, TFeatures, TDatum, TAffineTransform, TCoordSys,
    TBitmapSymbol, TFeatureFactory, TResolveObjects, TResolveObject, TRowValues,
    TRowValue, TVariables, TVariable, TLabels, TLabel]);
end;
改成了:
procedure Register;
begin
  RegisterComponents('ActiveX',[TMap]);
end;
回复 支持 反对

使用道具 举报

发表于 2007-5-28 09:46:24 | 显示全部楼层
我跟踪了,执行到
procedure TMainForm.BizFormCreate(Sender: TObject);
var
  ExeFilePath:String;
begin
  ExeFilePath := SysUtils.ExtractFilePath(Business.Forms.Forms.Application.ExeName);

  ExeFilePath := 'c:\';
  YnMap.GeoSet      :=ExeFilePath+'map\yunnan.gst';
  YnMap.Title.Visible:=false;

  EyeMap.GeoSet      :=ExeFilePath+'map\yunnan_eye.gst'; //YnMap
  EyeMap.Title.Visible:=false;

  {
  YnMap.GeoSet      := SysUtils.ExtractFilePath(Application.ExeName)+'map\yunnan.gst';
  YnMap.Title.Visible:=false;

  EyeMap.GeoSet      :=SysUtils.ExtractFilePath(Application.ExeName)+'map\yunnan_eye.gst';
  EyeMap.Title.Visible:=false;

  }
  //在EyeMap创建图层
  m_Layer := EyeMap.Layers.CreateLayer('NavLayer',nil,nil,nil,nil);
//  YnMap.OnMapViewChanged := YnMapMapViewChanged;
end;
就出错了,根本执行不到CreateLayer
回复 支持 反对

使用道具 举报

发表于 2007-5-28 09:50:53 | 显示全部楼层
我新加一个按钮,在窗体显示出来以后,点这个按钮,也没有触发这个YnMapMapViewChanged事件
procedure TMainForm.Button1Click(Sender: TObject);
begin
  YnMap.GeoSet      := 'c:\map\yunnan_eye.gst';
  YnMap.GeoSet      := 'c:\map\yunnan.gst';
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 10:45:15 | 显示全部楼层
换一下map的位置,如:D盘

ExeFilePath := 'D:\';
  YnMap.GeoSet      :=ExeFilePath+'map\yunnan.gst';
  YnMap.Title.Visible:=false;

  //在EyeMap创建图层
   m_Layer := YnMap.Layers.CreateLayer('NavLayer',nil,nil,nil,nil);//
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 10:48:31 | 显示全部楼层
我这里有出错的图片:
回复 支持 反对

使用道具 举报

发表于 2007-5-28 10:57:58 | 显示全部楼层
你用我发给你的导入包看看有什么问题吧

mapx.rar

102.26 KB, 下载次数: 63

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 11:31:57 | 显示全部楼层
就是这个有问题了 m_Layer := YnMap.Layers.CreateLayer('NavLayer',nil,nil,nil,nil);
你用的开发版本是?
我的是2617
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 11:44:09 | 显示全部楼层
平台是不是不支持多态函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 11:52:51 | 显示全部楼层
你的导入不了

未命名 拷贝.gif

59.86 KB, 下载次数: 97

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-21 13:58 , Processed in 0.046136 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表