Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
1 - Einsteigerfragen

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Bereich# + SizeOf()
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   09.09.14 18:48

In einem Projekt müßte ich eine übergebene
Bereichsvariable neu dimensionieren und füllen.

Das funktioniert auch soweit, aber SizeOf()
gibt mir da einen falschen Wert zurück.
Hier mal ein Beispiel :

Declare b1#
 
 Proc ChangeMem
 Parameters bereich#
 Declare b2#
 Dim b2#, 20
 If SizeOf(bereich#) < SizeOf(b2#)
    Dim bereich#, 20
 EndIf
 String b2#, 0 = "Das ist ein Test !"
 bereich# = b2#
 'Print SizeOf(Bereich#)
 Dispose b2#
 
 Return Addr(bereich#)
 EndProc
 
 Dim b1#, 6
 String b1#, 0 = "Hallo"
 Print "Size : "; SizeOf(b1#); "  "; String$(b1#,0)
 b1# = ChangeMem(b1#)
 Print "Size : "; SizeOf(b1#); "  "; String$(b1#, 0)
 Assign #1, "E:\\Bereich.dat"
 OpenRW #1
 BlockWrite #1, b1#, 0, SizeOf(b1#)
 Close #1
 Waitkey
 Dispose b1#
 End


Da ja in der Proc ein viel längerer Text zugewiesen wird,
müßte sich ja auch die Größe des gedimten Bereichs verändern.
Außerdem wird er ja auch genauso groß gemacht, wie der lokale
Bereich in der Proc.

Wenn man SizeOf() in der Proc ausprinted, stimmt das auch.
Bloß bei Rückkehr hat er immer noch die Größe 6, obwohl ja
viel mehr Text drin steht. Wenn ich jetzt z.B. nach der Proc mit
BlockWrite den Bereich in eine Datei schreibe, stehen da nur die
ersten 6 Zeichen drin.


Oder kann man das auch anders lösen ?

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (09.09.14 19:12)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Bereich# + SizeOf()  Neu
Heinz Brill 09.09.14 18:48 
 Re: Bereich# + SizeOf()  Neu
Karl-Jürgen Hilger 09.09.14 20:17 
 Re: Bereich# + SizeOf()  Neu
David Strutz 09.09.14 20:36 
 Re: Bereich# + SizeOf()  Neu
Heinz Brill 10.09.14 16:09 
 Re: Bereich# + SizeOf()  Neu
David Strutz 10.09.14 22:19 
 Re: Bereich# + SizeOf()  Neu
Michael Wodrich 14.09.14 16:37 
 Re: Bereich# + SizeOf()  Neu
David Strutz 16.09.14 21:43 
 Re: Bereich# + SizeOf()  Neu
Michael Wodrich 17.09.14 21:08 
 Re: Bereich# + SizeOf()  Neu
Michael Wodrich 17.09.14 21:25 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org