| |
|
|
Georg Hovenbitzer | Hallo zusammen,
ich sitze mal wieder an einem Problem und verstehe die Welt nicht mehr. Zu dem was ich da zusammen programmiert habe, habe ich ein paar Fragen aber keine Antworten: - wieso gibt @SizeOf(Test#) 1 und nicht 11 aus ? - wie komme ich auf die echte Dimensione von Test# wenn Io l' Rückgabewert nicht habe und @Sizeof nicht funktioniert ? - wenn ich nicht Dim Dummy#,11 angebe oder den ReDim größer mache als der Inhalt, kommt bei der Ausgabe des Strings nur Müll raus, wieso ?
Sinn oder besser Zweck der ganzen Sache sollte sein, dass ich einen Bereich an eine Prozedur übergebe und diesen gefüllt zurück bekomme ohne die finale Dimensione zu Beginn zu wissen.
Vielleicht kann mir wieder jemand weiterhelfen, damit ich die Welt wieder verstehe KompilierenMarkierenSeparieren
Proc ReDim
Parameters ProcBereich#
Declare Dummy#
Dim Dummy#,20
String Dummy#,0 = "0123456789"
Dim Dummy#,11
Dim ProcBereich#,@SizeOf(Dummy#)
ProcBereich# = Dummy#
Dispose Dummy#
Return @SizeOf(ProcBereich#)
EndProc
Declare Size&
Declare Test#
Dim Test#,1
Size& = ReDim(Test#)
Print "Größe von Test# =",@SizeOf(Test#)
Print "Return Wert =",Size&
Print "Inhalt Bereich =",@String$(Test#,0)
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 18.11.2009 ▲ | |
|
|
|
|
Stephan Sonneborn | |
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 18.11.2009 ▲ |
|
|
|
|
Georg Hovenbitzer | Hallo Stephan,
deine Ausführungen sind richtig, aber ich habe da Einwende Ab der 11er Version von Profan kann man an Prozeduren Bereiche trasferimento, was ich hier versuche und was ja auch klappt, in Test# è sich am Ende der String "0123456789".
Die Frage ist nun, wieso kann ich mit @SizeOf nicht die veränderte Dimensione ermitteln ? Ebenso interessiert mich wieso der Inhalt nur richtig ist wenn die Dimensione des Bereiches der des Inhaltes gleich ist.
Viele Grüße Georg |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 18.11.2009 ▲ |
|
|
|