String 保存大量字符的最佳方法

String 保存大量字符的最佳方法,string,memory-management,vb6,String,Memory Management,Vb6,我需要保存大量的字符,然后,在保存所有信息后,我将使用打印 我试图使用一个类作为csStringBuilder,但错误仍然发生。这就是我试图做的: Obs:我知道这远远不是一个好的编程,但我尝试了 Select Case iFlag Case 0, 1 Length= Len(strCurrentlyData) If (Len(strCurrentlyData) + Len(strNewData) < (57000000 - Length))

我需要保存大量的字符,然后,在保存所有信息后,我将使用
打印

我试图使用一个类作为
csStringBuilder
,但错误仍然发生。这就是我试图做的:
Obs:我知道这远远不是一个好的编程,但我尝试了

Select Case iFlag

     Case 0, 1
         Length= Len(strCurrentlyData)
         If (Len(strCurrentlyData) + Len(strNewData) < (57000000 - Length)) Then
             iFlag = 1
             strCurrentlyData= strCurrentlyData & strNewData
         Else
             iFlag = 2
             strCurrentlyData2= strCurrentlyData2 & strNewData
         End If

     Case 2
         Length = Len(strCurrentlyData2)
         If (Len(strCurrentlyData2) + Len(strNewData)) < (57000000 - Length) Then
             strCurrentlyData2= strCartasDeCobranca2 & strNewData
         Else
             iFlag = 3
             strCurrentlyData3 = strCurrentlyData3 & strNewData
         End If  

解决这一问题的最佳方法是什么?

我的建议是,不断向数组中添加内容(在需要添加新元素时不断调整大小)。然后,如果需要的话,您可以在最后将所有字符串连接成一个字符串(以某种形式的块)。或者将它们写入磁盘

如果你能详细说明你的最终目标是什么,那么很可能会有一个更简单、更简单的解决方案。

来自:

需要为求值创建临时字符串的表达式 可能导致此错误。例如,下面的代码会导致一个错误 某些操作系统上的字符串空间错误:

    MyString = "Hello"
    For Count = 1 To 100
    MyString = MyString & MyString
    Next Count

若要解决此问题,请尝试使用VBAccelerator,并解释其工作原理。

您打算如何处理此字符串?使用
打印
打印文档@jth41@jth41我知道这是一个糟糕的编程,但这个软件是旧的,我不想现在重做它,因为我需要它为昨天你知道吗?这就是为什么我想在这方面做些工作。在使用
Print
之前,我需要获取
All
信息。您可以使用
Put
strNewData
附加到临时文件中<代码>打印
此临时文件。在单个VB6(32位)进程中,您永远无法处理超过1.5-2GB的字符串。使用文件是处理2GB+数据的廉价方法。谢谢Mark!但是我已经有了
StringBuilder
,我得到了相同的错误=x。我正在使用VirtualMachine(VirtualBox)运行vb6。它只有1GB内存。我升级到2GB,我
“解决了”
问题。。。但是错误依然存在。哦,天哪!如果您试图在VB6中创建“非常大”的字符串,也可能会出现该错误。AFAICR在实践中有一个上限,似乎是几百兆字节,增加机器上的RAM量也无济于事。您的里程可能会有所不同。您可能需要避免在VB6中使用非常大的字符串抱歉,我误解了自己。。。当使用我上面展示的方法时,错误消失了。但是在
StringBuilderClass中仍然存在;P
    MyString = "Hello"
    For Count = 1 To 100
    MyString = MyString & MyString
    Next Count