以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码在试用版正常,但是在开发版报错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=114688)

--  作者:5159518
--  发布时间:2018/2/13 14:07:00
--  [求助]代码在试用版正常,但是在开发版报错
If e.name = "PDFname"
    If Vars("PDFname") <> "" Then
        If  Forms("PDF reader").Opened = False Then
            Forms("PDF reader").open()
        End If
        Dim tab As WinForm.TabControl = Forms("PDF reader").Controls("TabControl1") \'声明页面集合
        Dim pdf As new AxFoxitReaderSDKProLib.AxFoxitReaderSDK \'声明PDF的SDK
        pdf.Dock =  System.Windows.Forms.DockStyle.Fill \'定义打开的PDF文件填充范围为页面集合区域)
        Dim finfo As new FileInfo(Vars("PDFname")) \'声明打开文件的"路径+文件名"
        Dim name = finfo.Name.Replace(finfo.Extension, "") \'声明打开文件的文件名
        Dim fn = finfo.Name \'声明打开文件的文件名,包含扩展名(修改)
        Dim dx As DataRow = DataTables("资料").Find("文件名 = \'" & fn & "\'")
        Dim xn As String = dx("显示名")
MessageBox.Show("1")

        \'重命名初始空白页面,查找已打开文件并定位,添加新页面<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        For i As Integer = 0 To tab.TabPages.count - 1
MessageBox.Show("2")
            If tab.TabPages(i).name = "page1" Then \'如果找到初始空白页面,则将该页面的页面名称及页面标题重定义为需打开的文件名
                tab.tabpages(i).name = xn
                tab.tabpages(i).text = xn
                Dim pb = tab.BaseControl
MessageBox.Show(xn)
MessageBox.Show(name)
                pb.TabPages(xn).Controls.add(pdf)
MessageBox.Show("3")
                tab.SelectedPage = tab.TabPages(xn)
                pdf.openfile(Vars("PDFname"),"") \'打开PDF文件
MessageBox.Show("4")
                pdf.ShowTitleBar(False)

                \'重定义工具栏按钮<<<<<<<<<<<<<<<<<<<<<
                For z As Integer = 0 To 11
                    pdf.ShowToolbarButton(z,False)
                Next
                pdf.ShowToolbarButton(26,False)
                pdf.ShowToolbarButton(30,False)
                pdf.ShowToolbarButton(31,False)
                \'重定义工具栏按钮结束>>>>>>>>>>>>>>>>>>>>>>
                Exit For
MessageBox.Show("5")
            Else If tab.TabPages(i).name = xn Then \'如果查找到同名已打开文件,则定位到该页面
                tab.SelectedIndex = i
                Exit For
MessageBox.Show("6")
            Else If i = tab.TabPages.count - 1 Then \'如果查找完所有页面尚未找到空白页面,并且也未找到同名已打开文件,则添加新页面并以需打开的文件名定义新页面的页面名称及页面标题
                tab.TabPages.Add(xn, xn)
                Dim pb = tab.BaseControl
                PB.TabPages(xn).Controls.add(pdf)
                tab.SelectedPage = tab.TabPages(xn)
                pdf.openfile(Vars("PDFname"),"") \'打开PDF文件
                pdf.ShowTitleBar(False)
MessageBox.Show("7")
                \'重定义工具栏按钮<<<<<<<<<<<<<<<<<<<<<
                For z As Integer = 0 To 11
                    pdf.ShowToolbarButton(z,False)
                Next
                pdf.ShowToolbarButton(26,False)
                pdf.ShowToolbarButton(30,False)
                pdf.ShowToolbarButton(31,False)
                \'重定义工具栏按钮结束>>>>>>>>>>>>>>>>>>>>>>
            End If
        Next
MessageBox.Show("8")
        \'重命名初始空白初始页面,查找已打开文件并定位,添加新页面结束>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        \'为页面集合添加关闭按钮<<<<<<<<<<<<<<<<<
        Dim t As C1Command.C1DockingTab = Forms("PDF reader").Controls("TabControl1").BaseControl
        t.CanCloseTabs = 1 \'显示关闭按钮
        t.CloseBox = 1 \'关闭按钮显示位置为页面标签
        \'关闭按钮添加结束>>>>>>>>>>>>>>>
    End If
End If

图片点击可在新窗口打开查看



问题出在
MessageBox.Show(name)
                pb.TabPages(xn).Controls.add(pdf)
MessageBox.Show("3")
这一句代码,不知道咋回事,在试用版中是可以的,但是在开发版中就报错

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180213140640.png
图片点击可在新窗口打开查看




--  作者:有点甜
--  发布时间:2018/2/13 14:22:00
--  

应该和你这段代码无关吧?是在同一台电脑吗?

 

1、你确定是你那段代码造成的?重新注册你的控件。然后单独做一个项目做一个简易例子测试。

 

2、试试修复tts http://www.baidu.com/baidu?wd=win7+tts&tn=monline_4_dg


--  作者:5159518
--  发布时间:2018/2/13 14:44:00
--  

谢谢版主,解决了,dll文件是由ocx文件转换过来的,所以即使注册了dll文件依然无效,后来重新注册了ocx文件解决问题了