不知中了什么邪,原来都好好的,系统故障重新安装后,使用VB时,在VB下运行,程序老是提示找不到文件,但是,监视app.path是正常的,编译好后的exe文件运行正常,这是为什么?请指点,在线等待ing。
分不多,所以只能给20分。见谅!!!

解决方案 »

  1.   

    很简单的程序,用SDK做的,原来是可以的,最近就不行了,我前面每天都有源代码备份,现在每一个源代码都不能用了,即不能调.LL文件,但是编译好后的程序是可以运行的。系统重新安装了都还是一样,VB和VS重新安装几次了,还是一样,为什么???????
      

  2.   

    出错的原因是找不到文件,但是,文件明明在那里,并且在编译好的exe文件运行时是正常的,错误提示应该是SDK开发者提示的,“XXX:打不开yyy.dat文件,err”,XXX是一个人名。
      

  3.   

    以下是程序所有代码,100%完整:
    Option Explicit
    '加载核心
    Private Declare Function LoadIdcardLibrary Lib "idcarddll.dll" () As Long
    '卸载识别核心
    Private Declare Sub FreeIdcardLibrary Lib "idcarddll.dll" ()Dim txtlabel As StringPrivate Sub Timer1_Timer()
        Dim ret As Long
        Timer1.Enabled = False
        ret = LoadIdcardLibrary()               '此处就是出错的地方,错误信息如上所述
        If ret = 0 Then
            FreeIdcardLibrary
            txtlabel = "扫描仪成功释放!"
        Else
            If ret = 1 Then
                txtlabel = "扫描仪释放失败!"
                Exit Sub
            Else
                txtlabel = "硬件加密校验失败!"
                Exit Sub
            End If
            Label1 = txtlabel
            Label1.Top = (Picture1.Height - Label1.Height) / 2 - 15
            Label1.Left = (Picture1.Width - Label1.Width) / 2
            Me.Refresh
        End If
        
    End SubPrivate Sub Timer2_Timer()
        Shape1.Width = Shape1.Width - 100
        txtlabel = "扫描仪释放剩余:" & Shape1.Width \ 70 & "%"
        Label1 = txtlabel
        If Shape1.Width <= 100 Then
            Timer2.Enabled = False
            Timer3.Enabled = True
            Shape1.Width = 1
            Shape1.Visible = False
            Label1 = "扫描仪释放成功!"
        End If
        
        Me.Refresh
        Label1.Left = (Picture1.Width - Label1.Width) / 2
    End SubPrivate Sub Form_Load()
        Shape1.Width = 7001
        Label1 = "扫描仪释放剩余:" & Shape1.Width \ 70 & "%"
        Label1.Top = (Picture1.Height - Label1.Height) / 2 - 15
        Label1.Left = (Picture1.Width - Label1.Width) / 2
        Timer1.Enabled = True
        Timer2.Enabled = True
        Me.Refresh
    End SubPrivate Sub Timer3_Timer()
        Timer2.Enabled = False
        Unload Me
    End Sub
      

  4.   

    这没办法。因为出错的地方你没有代码!你给的这个代码本身没错,关键的代码在那个DLL中,没办法。
      

  5.   

    我想知道的是:VB的编译环境是否存在问题?或者是否跟系统有关系?因为:
    元旦节几天系统出过问题,重新安装过,VB当然也重新安装过,这些代码以前都是可以正常调试的,同时还有另一条信息:我通过注册表修改,在IE工具栏创建了一个图标按钮,该图标按钮指向该程序,点击运行时,会提示同样的错误,这与在该目录下直接运行有什么不同呢?
      

  6.   

    保证 idcarddll.dll 在系统目录下,还有尝试更改一下文件名的大小写
      

  7.   

    在哪个系统目录下?windows?我想知道为什么编译好后的exe文件怎么就可以正常运行,是不是跟VB的编译环境有关系,怎么设置?