你给的答案不灵问题如下:“
如何使用未添加控件的属性 
举例说明: 
我想使用winsock的属性,但程序因为没有窗体而无法添加winsock控件 我在部件工具里引用了winsock控件,并且定义了:dim win as winsock 可是就是不能实现 msgbox win.localhostname 请高人指点一下。谢谢!
”你的答案如下:“
Private Sub Command1_Click() 
    Dim objWsk As New Winsock 
    MsgBox objWsk.LocalHostName 
End Sub 

解决方案 »

  1.   

    丢了New关键字还说别人的代码不灵,人家帮了你,你却败坏别人的名声
      

  2.   


        Dim Obj As Object
        Set Obj = CreateObject("MSWinsock.Winsock.1")
        MsgBox Obj.LocalHostName
      

  3.   

    你没有窗口,哪来的command1?
    没有窗口的程序,最好用API实现想要的功能
    如果仅仅是想得到LocalHostName ,可以用gethostname 
      

  4.   

    Dim objWsk As New Winsock这一句是肯定无法执行的
      

  5.   

    其实我是懒得把
    Private Sub Command1_Click() 
    改成sub main
    这点相信你们都该懂吧
      

  6.   


    嗯。。可能是。。 我前面试陈辉代码时是添加的部件。。 
    也不知道引用库是哪个。。
    不过这代码可以了
        Dim Obj As Object
        Set Obj = CreateObject("MSWinsock.Winsock.1")
        MsgBox Obj.LocalHostName 不用添加部件也不需引用库。。 只要系统有这个OCX
      

  7.   


    误会!误会!绝对没有败坏别人名声的意思我也没有丢了NEW关键字我只是添加部件我自己菜,想不到引用库(我的意识里添加部件和引用库是一样的)还要继续加强学习!
      

  8.   


    我没有少看东西,我也懂sub main 和 Command1_Click我只是添加部件,没有引用库所以导致Dim objWsk As New Winsock 无法执行我自己菜,差点错怪好人惭愧!惭愧!再次感谢!
      

  9.   


    不用添加部件也不需引用库,程序打包时会不会有什么问题?我们不能期望,每个人的计算机系统都有OCX
      

  10.   

    为什么不能期望呢?你打包你程序时就应把mswinsock.ocx打进去,
    如果真不想这样,哪只有API函数了
      

  11.   

    不对,按照我的经验,其实只要添加了部件,就是说只要在你的工具箱里看得见有winsock控件,vb已自动帮你引用了相关的库,而并不一定要在你的窗体里添加该控件,所以你上面的代码可以通过,但如果你在部件引用里取消winscok控件前面的复选框再试试,我估计就不行了。