delphi7调用VB创建的DLL问题,急!!!! 本人刚开始打算用delphi调用surfer绘制等值线,后来由于在delphi中有些功能做不出来,而VB可以。所以想通过VB过度下。希望大侠帮忙解答下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对你的观点完全不赞同,DELPHI做不出VB能做的东西?这句话应该说反了吧?在DELPHI作画可以用画布CANVAS对象 画出你想得到要画的东西,高级点的可以直接使用D3D;另外你调用DLL不成功大多都是参数类型问题,自己去看看还有就是在D中调用DLL函数需要再后面加上STDCALL; 楼上的误解我了,我知道delphi的功能很强大的,而且绘图比VB强大。现在我是调用surfer绘图(一种绘图软件),该软件的是用VB写的。在delphi中转换时感觉有的做不出来。具体问题你帮忙看看。var Form1: TForm1; CustomLevels:array[0..6]of double;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var SurferApp,plot,shapes,ContourMap,ContourMapFrame1,Levels:Variant; i:integer;begin SurferApp:=CreateOleObject('surfer.Application');//打开Surfer ...... CustomLevels[0]:=33; CustomLevels[1]:=47; CustomLevels[2]:=56; CustomLevels[3]:=67; CustomLevels[4]:=83; CustomLevels[5]:=91; CustomLevels[6]:=0; Levels:=ContourMap.Levels;//取得等值线等级 Levels:=VarArrayCreate([0,11], varVariant); for i:=0 to 6 do begin levels.set(Levels[i]:=CustomLevels[i]); end;end;end.此处“levels.set(Levels[i]:=CustomLevels[i]);”报错“[Error] tianjiaz.pas(68): Type not allowed in Variant Dispatch call”因为之前已将Levels定义了,所以赋值肯定出问题。而这个功能在VB中就能很好的实现。所以现在想通过VB过度下 报表(fastreport4)设计时的显示问题 cxGird中有多个字段调用GetdispalyText的过程,显示慢的问题,急!!!! “草莽程序员的悲哀—评周爱民《大道至简》”之进一步评论 通过delphi 如何将*.reg 注册表文件倒入到注册表? select count(1) from table1 这句话什么意思? pascal中有没有类似C的memcpy,memset函数? 一个排序的问题,请教更快的算法。 硬件高手请进: 紧急情况!!!告诉我注册号 如何自动填写网页内容? delphi调用surfer的相关问题 CSDN 帐号被冻结 急。。。
在DELPHI作画可以用画布CANVAS对象 画出你想得到要画的东西,高级点的可以直接使用D3D;另外你调用DLL不成功大多都是参数类型问题,自己去看看还有就是在D中调用DLL函数需要再后面加上STDCALL;
var
Form1: TForm1;
CustomLevels:array[0..6]of double;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var
SurferApp,plot,shapes,ContourMap,ContourMapFrame1,Levels:Variant;
i:integer;
begin
SurferApp:=CreateOleObject('surfer.Application');//打开Surfer
......
CustomLevels[0]:=33;
CustomLevels[1]:=47;
CustomLevels[2]:=56;
CustomLevels[3]:=67;
CustomLevels[4]:=83;
CustomLevels[5]:=91;
CustomLevels[6]:=0;
Levels:=ContourMap.Levels;//取得等值线等级
Levels:=VarArrayCreate([0,11], varVariant);
for i:=0 to 6 do
begin
levels.set(Levels[i]:=CustomLevels[i]);
end;
end;
end.
此处“levels.set(Levels[i]:=CustomLevels[i]);”报错
“[Error] tianjiaz.pas(68): Type not allowed in Variant Dispatch call”
因为之前已将Levels定义了,所以赋值肯定出问题。而这个功能在VB中就能很好的实现。所以现在想通过VB过度下