一个DLL传值问题~帮帮小弟~

wdwd05 2003-09-27 10:33:47
在工程1的DLL里面添加一个窗体,然后添加一个工程2,如何把DLL里面窗体上的TEXT文本框的内容,显示在工程2的窗体上?

要写什么样的代码?要用BYREF吗?BYVAL好象不行哦~

举个例子,看看,谢谢,如果有BYREF和BYVAL的例子就最好了~相关文章也行,以前有的,现在不知道弄哪去了,郁闷~~

大家帮帮忙哦~

...全文
13 点赞 收藏 23
写回复
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdwd05 2003-10-10
问题已经解决了~
回复
wdwd05 2003-09-27
我现在只想得到另一个工程里面的窗体的值,另一个工程是一个DLL~~~所以不能直接调用窗体
回复
wdwd05 2003-09-27
我的天,这两个函数我一个没看懂,有没有更好的例子啊?虽然写的很详细,但缺少太多的注释,我真的看起来相当吃力,一点都没有明白~~~请给我详细例子OK?????


分不够在加~~~
回复
suntt 2003-09-27
你可以关注一下此贴,有点相似。
http://expert.csdn.net/Expert/topic/2297/2297798.xml?temp=.7726709
回复
wdwd05 2003-09-27
我先看看你们说的~

freewing(羽田共) 是把工程1也就是DLL里面的窗体值,点完成以后,传到工程2的TEXT里面去~
回复
wdwd05 2003-09-27
Activex dll
回复
suntt 2003-09-27
我觉得用sendmessge应该可以的。
回复
freewing 2003-09-27
不太看明白,
不过,如果能把工程2中的TEXT文本框的HWND传给工程1,然后点“完成”后用API SetWindowText(...)传过去,工程2可以在TEXT文本框的Change事件里取出来
回复
yoki 2003-09-27
用一个函数输出你要传递的值
回复
suntt 2003-09-27
像你这种情况用进程间的通信不可以吗?
回复
yoki 2003-09-27
做一个公共函数输出呀
回复
佛的光辉 2003-09-27
要明确一点,vb中建的dll是Activex dll和普通的dll是不同的;Activex dll的使用方法就和ADO等一样,而不是和API的一样。
回复
wdwd05 2003-09-27
suntt(两条腿的狗) 谢谢你的回答,这个我也知道~

但是用起来就无能为力了,晕~哎,水平太差,真是麻烦啊~

我现在虽然想到了一个方法,但是还不是很好,至少我的感觉不太好,我先不说先听你们说,呵呵~
回复
wdwd05 2003-09-27
我现在是想在工程1这个窗体里面输入资料,然后点击“完成”按钮

再传值,应该怎么做?
回复
suntt 2003-09-27
byval的参数是在调用时自身又拷贝了一份,操作的实际上是拷贝后的一份,因此无论对此参数怎么改写,但初始的值并不会改变。
byref的参数是直接调用此参数,因此在函数中对此参数改写后,他的值会变化。
回复
suntt 2003-09-27
我给你改了一下,我想这应该是你所需要的。
回复
j4sxw 2003-09-27
支持支持支持支持支持支持支持支持支持支持支持支持█████████支持支持
支持支持支持支持支持支持支持支持支持███████████████支持支持
支持支持支持支持支持支持支持无██████████████████支持支持
支持支持支持支持支持支████████████████支持支持支持支持支持
支持支持支持支持███████无███支持█████持支持支持支持支持支持
支持无████████████支持支持支持████支持支持支持支持支持支持
无██████████████支持支持支持████支持支持支持支持支持支持
无████████████支持支持支持无███████████支持支持支持
无████████████支持支持支持██████████████支持支持
支持██████████支持支持无██████支支持███████支持支持
支持支持支持支持████支持支持无████支支持支持持█████支支持支持
支持支持支持支持████支持支持████支持██支持无█████支持支持无
支持支持支持支持████支持支持████支持████无█████支持支持无
支持支持支持支持████支持支持████支持████无█████支持支持无
支持支持支持支持████支持支持████支持███支持█████支持支持无
支持支持支持支持████支持支持████支持███支持█████支持支持无
支持支持支持支持████支持支持████无████支持█████支持支持无
支持支持支持支持████支持支持████无████支持█████支持支持无
支持支持支持支持████支持支持████无████支持█████支持支持无
支持支持支持支持████支持支持████无████支持█████支持支持无
支持支持支持支持████支持支持███支持████支持█████支持支持无
支持██支持无█████支持支持███支持███支持无█████支持支持无
支持██████████支持支持无██支持██支持支持█████支持支持无
支持无█████████支持支持支持支持███支持支持无████支持支持无
支持支持无███████支持支持支持支持███无████支持支持支持支持无
支持支持支持██████支持支持支持无████支持█████支持支持支持无
支持支持支持支持无███支持支持支持█████支持无███████支持支持
支持支持支持支持支持支持支持支持██████支持支持无██████支持支持
支持支持支持支持支持支持支持无██████支持支持支持███████支持无
支持支持支持支持支持支持支持█████支持支持支持支持无██████支持无
支持支持支持支持支持支持无█████支持支持支持支持支持无████支持支持
支持支持支持支持支持支持███支持支持支持支持支持支持支持无███支持支持
回复
wdwd05 2003-09-27
难道大家都没有遇到,DLL里面的窗体往另一个工程的窗体里面传值的时候??

好象不太可能吧?

大家经验都那么丰富应该都能遇到哦~
回复
wdwd05 2003-09-27
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC

Private Sub Command1_Click()
SendMessage Text1.hwnd, WM_SETTEXT, 0, ByVal "你单击了我"
End Sub

这个例子确实很简单,但是好象确实也简单的体现不出什么东西,可能是我笨吧~我感觉这个例子好象无法与我的程序结合起来吧?
回复
wdwd05 2003-09-27
suntt(两条腿的狗)

谢谢了~我等你~明天给我例子谢谢了~~~

我做这个模块已经做完了,就差最后的结合了~真头痛~
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告