加载控件的简单问题,散分!!!

lhh 2003-07-28 02:49:11
本人在一个vb写的exe中使用了一个控件(自己写的ocx),但在程序启动时想检查该控件是否为最新,如不是则从服务器下载更新,通常我们把ocx加入部件中,但这样根本就无法对该ocx文件作任何操作(已经在exe中加载了),故对该ocx作loadlibrary操作而不加入部件,但是这样在程序中又不知道如何定义ocx空件对象,故请教各位有和解决方法,请给出示例code,谢谢!!
...全文
29 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgqcool2002 2003-10-25
  • 打赏
  • 举报
回复
up
Lucky527 2003-10-25
  • 打赏
  • 举报
回复
学习 up!
DarkChampion 2003-08-20
  • 打赏
  • 举报
回复
关注~~~~~~~
sunnycai 2003-08-06
  • 打赏
  • 举报
回复
我想何必单独更新ocx呢,要更新连exe也一并更新不是更好吗
since1990 2003-08-06
  • 打赏
  • 举报
回复
帮你 up
ufcr 2003-08-06
  • 打赏
  • 举报
回复
Dim i As Integer

VB.Licenses.Clear
progID 是OCX的工程名 +| OCX 名 priOCX.OCXName

For i = 0 To VB.Licenses.Count - 1
If VB.Licenses.Item(i).ProgID = ProgID Then
i = 8888
Exit For
End If
Next i
If i <> 8888 Then
VB.Licenses.Add ProgID
End If
since1990 2003-08-06
  • 打赏
  • 举报
回复
帮你 up
diyee 2003-08-05
  • 打赏
  • 举报
回复
up
Muzhu 2003-08-05
  • 打赏
  • 举报
回复
ok
goodname008 2003-07-30
  • 打赏
  • 举报
回复
' 以Flash控件为例,先把控件加入部件,然后用代码在程序运行时载入
' 编译的时候在选项中把“删除有关未使用的 ActiveX 控件的信息”前面的钩去掉

Option Explicit
Dim WithEvents obj As ShockwaveFlashObjectsCtl.ShockwaveFlash

Private Sub Command1_Click()
Set obj = Controls.Add("ShockwaveFlash.ShockwaveFlash.1", "Flash1", Me)
With obj
.Left = 1000
.Top = 1000
.Height = 4000
.Width = 4000
.Visible = True
End With
End Sub

你试试看行不行,我总觉得如果你升级了控件,是不是在程序中的代码也要更新,如果是这样的话,还不如控件和.exe一起打包,一起更新,而如果是一起更新的话也不用这么麻烦了,该怎么写程序就怎么写程序不就行了,升级时该升级的文件都打成升级包一起一升级,OK了。
lihh 2003-07-29
  • 打赏
  • 举报
回复
同意goodname008,先用loadlibrary加载你自己的ocx,然后定义它,control,object。。。等等多试几个,调试调试呀!!!总会好的
lhh 2003-07-29
  • 打赏
  • 举报
回复
to kmzs(山水岿濛) 这个办法也太过于复杂了吧,那样做就失去很多意义了

to goodname008(卢培培,想学好VB) :办法不错可以定义控件对象,但是Dim cmdOK As CommandButton中的CommandButton应该用什么来替换呢?我用过control,object.但这样做,控件对象都只能用其中的属性,但它的方法却不能用,请各位高手指点,谢谢!!!
lhh 2003-07-29
  • 打赏
  • 举报
回复
to kmzs(山水岿濛) 这个办法也太过于复杂了吧,那样做就失去很多意义了

to goodname008(卢培培,想学好VB) :办法不错可以定义控件对象,但是Dim cmdOK As CommandButton中的CommandButton应该用什么来替换呢?我用过control,object.但这样做,控件对象都只能用其中的属性,但它的方法却不能用,请各位高手指点,谢谢!!!
kmzs 2003-07-28
  • 打赏
  • 举报
回复
自己写个壳,启动时由壳来更新,更新完成后运行内部程序,试试看说不定是个创举!
goodname008 2003-07-28
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Command1_Click()
Dim cmdOK As CommandButton
Set cmdOK = Controls.Add("VB.CommandButton", "cmdOK", Me)
With cmdOK
.Left = 200
.Top = 200
.Width = 1000
.Height = 400
.Caption = "确定"
.Visible = True
End With
End Sub


自制ocx差不多,多点步骤吧。

7,764

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧