Forums Neueste Beiträge
 

Nur mal so am Rande: "Out Of String Space"-Fehler in VB6

21/06/2011 - 13:45 von Hermie | Report spam
Ich stoße mit VB6 gerade so massiv auf Bugs (liegt wohl daran, dass mein
Projekt sehr, sehr groß geworden ist), dass ich alles für .NET
vorbereiten will so gut wie möglich.

In .NET funktioniert Len() für Strings ja ganz anders als in VB6.
Der Projektkonvertierungswizard murrt aber trotzdem nicht rum, sondern
schreibt auch in .NET "Len()".

Deshalb habe ich jetzt in VB6 alle Aufrufe von Len() in StrLen
umgewandelt, und zwar so:

Public Function StrLen(ByVal uString As String) As Long

StrLen = Len(uString)

End Function

... damit ich spàter in .NET nicht solche Schwierigkeiten habe.

Man sollte aber unbedingt

Public Function StrLen(Byref uString As String) As Long

StrLen = Len(uString)

End Function

schreiben.
Irgendwie bekommt VB6 das sonst nicht garbagecollected und der Out Of
String Space Fehler kommt irgendwann.

Das hat mich 2 Tage gekostet das rauszufinden. Nur falls jemand auch mal
diesen Fehler hat.

Gruß,
Hermie
 

Lesen sie die antworten

#1 Armin Zingler
21/06/2011 - 14:18 | Warnen spam
Am 21.06.2011 13:45, schrieb Hermie:
Ich stoße mit VB6 gerade so massiv auf Bugs (liegt wohl daran, dass mein
Projekt sehr, sehr groß geworden ist), dass ich alles für .NET
vorbereiten will so gut wie möglich.

In .NET funktioniert Len() für Strings ja ganz anders als in VB6.



Inwiefern? Len wurde ja extra beibehalten weil es so funktioniert
wie das VB6 Len(). (im Gegensatz zu String.Length)

Der Projektkonvertierungswizard murrt aber trotzdem nicht rum, sondern
schreibt auch in .NET "Len()".



Eben aus obigem Grund.

Deshalb habe ich jetzt in VB6 alle Aufrufe von Len() in StrLen
umgewandelt, und zwar so:
[...]



Das dürfte m.E. nicht erforderlich sein. Der Grund dafür würde mich interessieren.



Armin

Ähnliche fragen