以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]一个曲线控件调用求帮助。。。。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=98172)

--  作者:54292550
--  发布时间:2017/3/25 12:55:00
--  [求助]一个曲线控件调用求帮助。。。。
各位大师们,我看网上有一个曲线控件非常好用,联系了开发者花了****元买了过来,对方提供给我了一个OCX文件,和一个VB.net的示例,还有一个开发文档。我想在Foxtable里面使用,不知道如何使用。

我先讲一下我的目前进度。。。我在VB.net的示例中找到了OCX转换成DLL的文件【我改成net2.0的又重新生成了一下】,不知道为什么是两个。一个前面有AxInterop开头的,一Interop开头的。VB里面引用了这两个文件,那么Foxtable里面不也应该添加引用吗?不知道我理解的对不。然后声明函数。。。就碰到问题了。
举个简单的例子,控件里面有个关于的对话框。

VB.net里面为【 Public Overridable Sub AboutBox() 】
Foxtable里面 全局代码我写的:【Public Sub AboutBox()    End Sub】

使用AboutBox() 调用不出来它的对话框呀。。。
[此贴子已经被作者于2017/3/25 13:03:02编辑过]

--  作者:54292550
--  发布时间:2017/3/25 14:13:00
--  
求助哇。。。这个要是弄好了,我就给分享出来。。。非常好用的一个曲线显示控件。。。功能很多哦。。我可是花了四位数买的呢。。图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2017/3/25 14:39:00
--  
只需要Interop开头的dll即可,添加到外部引用。

VB.net的示例代码贴出来看看

--  作者:54292550
--  发布时间:2017/3/25 15:00:00
--  回复:(有点蓝)只需要Interop开头的dll即可,添加到...
有点蓝老师这个东东发给你。。。。

帮忙在foxtable指点指点。。。图片点击可在新窗口打开查看....
[此贴子已经被作者于2017/3/26 10:40:21编辑过]

--  作者:有点蓝
--  发布时间:2017/3/25 15:29:00
--  
试试,AxInterop开头的和Interop开头的dll都引用进来

增加一个窗口,放一个panel,Afterload事件

Dim waveView as New AxDATAANALYLib.AxDataAnaly
waveView.Enabled = True
waveView.Location = New System.Drawing.Point(5, 9)
waveView.Name = "waveView"
waveView.Size = New System.Drawing.Size(526, 324)
e.form.Controls("Panel1").BaseControl.Controls.Add(Me.waveView)

--  作者:54292550
--  发布时间:2017/3/25 16:24:00
--  回复:(有点蓝)试试,AxInterop开头的和Interop开头...
有点蓝老师。。。控件添加进来了。。。我想初始化一下控件添加坐标系等信息。。
waveView.ClearWave()
waveView.ReSetStartTime(0)
waveView.ReSetEndTime(1)
waveView.RestoreCurveStatus()
waveView.AddCurveEx(0, 1, freq, pre, "压力", "MPa", -5, 50)
waveView.ActiveCurType(0)
waveView.InvalidateGraph(0)
waveView.IsGrid = True
waveView.IsMarkLine = True



出现这个错误:
引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常。


--  作者:有点蓝
--  发布时间:2017/3/25 16:42:00
--  
不能直接用。你到vs创建一个dll库项目,自己做一个自定义控件,把waveView这个控件包装后再给狐表使用
--  作者:54292550
--  发布时间:2017/3/25 17:03:00
--  回复:(有点蓝)不能直接用。你到vs创建一个dll库项目...
图片点击可在新窗口打开查看

我这种菜鸟暂时理解不了有点蓝老师的意思,之前看过一个摄像头拍照的例子,那个不是直接用的吗?

麻烦有点蓝老师再指点指点。。。

像ClearWave(),AddCurveEx(0, 1, freq, pre, "压力", "MPa", -5, 50)这样的函数在狐表如何使用。图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2017/3/25 17:24:00
--  
试试

Dim waveView as New AxDATAANALYLib.AxDataAnaly
CType(waveView,System.ComponentModel.ISupportInitialize).BeginInit()
waveView.Enabled = True
waveView.Location = New System.Drawing.Point(5, 9)
waveView.Name = "waveView"
waveView.Size = New System.Drawing.Size(526, 324)
e.form.Controls("Panel1").BaseControl.Controls.Add(Me.waveView)
CType(waveView,System.ComponentModel.ISupportInitialize).EndInit()

--  作者:54292550
--  发布时间:2017/3/25 17:57:00
--  回复:(有点蓝)试试Dim waveView as New AxDATAANAL...

图片点击可在新窗口打开查看此主题相关图片如下:曲线.jpg
图片点击可在新窗口打开查看

嗯。。。老师显示出来了。。

这是哪里的问题呢??