【问题标题】:User-defined type not defined vb6用户定义类型未定义 vb6
【发布时间】:2019-07-18 11:33:29
【问题描述】:

我正在尝试将 vb6 中文本框的上下文“保存”到 *.ini 文件中,以便在程序的后续部分中使用它。 (即用户将在文本框中输入一些内容,然后在程序中稍后会出现一个标签,其中包含用户输入的保存信息)。

我使用了从别人的程序源复制的以下代码,但是它没有工作:

Dim fsys As New FileSystemObject 
Dim outstream As TextStream
Dim write1 As String
Dim val1 As String
val1 = Text1.Text
inisettings = App.Path & "\Variables.ini"
Set outstream = fsys.OpenTextFile(inisettings, ForWriting, False, TristateFalse)
outstream.WriteLine (val1)
Set outstream = Nothing

这是结果:

有没有人可以保存数据以备后用?

【问题讨论】:

  • @Danh,如果答案解决了您的问题,请将其标记为解决方案。
  • @Herb 不是我的问题
  • @Doofitator 如果答案解决了您的问题,请将其标记为解决方案。
  • 下次请指出发生错误的行号。

标签: vb6


【解决方案1】:

FileSystemObject 位于外部库中,要使用它,请单击 Project,然后单击 References 并勾选 Microsoft Scripting Runtime

您实际上不需要这样做,下面的代码使用 VB 的内置功能来编写文件。

Dim hF As Integer
hF = FreeFile()

Open App.Path & "\Variables.ini" For Output As #hF
Print #hF, val1
Close #hF

【讨论】:

    【解决方案2】:

    您必须声明 TristateFalse 并为其指定一个值,例如 0、1 或 2。

    你可以看看这个链接:https://msdn.microsoft.com/en-us/subscriptions/bxw6edd3(v=vs.84).aspx

    【讨论】:

      【解决方案3】:

      您收到此错误的原因是您没有对 Microsoft Scripting Runtime 库的引用。在您的 VB6 项目中遵循以下说明:

      1. 从顶部菜单中,单击“项目”>“参考”。
      2. 从列表中,选中标题为“Microsoft Scripting Runtime”的项目。
      3. 点击确定。

      这将解决您的即时错误,但您的代码仍有一些其他问题。首先,您忘记声明变量inisettings。我将假设您每次更新 INI 文件时都希望始终覆盖整个文件,因此您希望使用方法 CreateTextFile 而不是 OpenTextFile

      Dim fsys As New FileSystemObject 
      Dim outstream As TextStream
      Dim write1 As String
      Dim val1 As String
      Dim inisettings As String
      
      val1 = Text1.Text
      inisettings = App.Path & "\Variables.ini"
      Set outstream = fsys.CreateTextFile(inisettings, True, False)
      Call outstream.WriteLine(val1)
      Set outstream = Nothing
      

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 2017-10-30
        • 1970-01-01
        相关资源
        最近更新 更多