| |
|
|
- Página 1 - |
|
Jörg Sellmeyer | Das hier funktioniert. SizeOf ermittelt auch el richtigen Valor. En String$(B#,0) se sin embargo trotzdem siempre el todo String ausgegeben: KompilierenMarcaSeparación Profanhilfe
Der Befehl kann de XProfan 10 mehrmals en una Bereichsvariable angewandt y ser ändert dynamisch el Größe des Speicherbereiches. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 30.08.2008 ▲ |
|
|
|
| |
|
- Página 3 - |
|
|
| Jörg Sellmeyer
Soll Roland se überlegen, si él Zugriff en Speicher außerhalb des Programms como Bug oder Feature ansieht. Yo sería sagen, dass Zugriff en unreservierten Speicher, por el Programmierer a vermeiden es. |
|
|
| |
|
|
|
Frank Abbing | Sí, Jörg, es una Cruz con el IF. Proggt komplizierte Vorgänge, aber kapituliert en el einfachsten Dingen... Ausschlaggebend es aber Roland. |
|
|
| |
|
|
|
| RGH
String$ liest a para ersten Byte(0), Char$ el angegebene Anzahl Signo.
Saludo Roland
@Franco: Weshalb Yo soy tu Aussage no así bastante einordnen kann - ¿qué es exactamente übersehe Yo eigentlich? |
|
|
| |
|
|
|
Jörg Sellmeyer | Yo glaube, wir necesario no klären qué String$ macht, pero qué Dim macht/hacer debería. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 31.08.2008 ▲ |
|
|
|
|
| Speicher reservieren y Größe ändern. (Und ahora todavía una NULL-Byte hinten anhängen? Wenn I una Strukturgröße zurückändere sería el letzte Byte simplemente "übermalt"?) |
|
|
| |
|
|
|
Jörg Sellmeyer | Was heißt zurückändern. Si usted el Zona después de el Verkleinern otra vez vergrößerst, hast Usted no Anspruch darauf, daß el Inhalt todavía así es como vorher. Der de hecho puede por zig otro Prozesse überschrieben ser. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 31.08.2008 ▲ |
|
|
|
|
| Zurückändern natürlich no en el Sinne de Vergrößern - pero verkleinern. |
|
|
| |
|
|
|
Jörg Sellmeyer | Ok, ahora weiß Yo glaube Yo, wo el problema liegt. Yo habe oben Dim B#,10 geschrieben y 1-9 + NULL geschrieben. Mit una Nullbyte hinten a el Speicherbereich angehängt könntetst Usted Usted aber hoffentlich arrangieren, oder? Lo debería así ausehen:
| 0|1|2|3|4|5|6|7|8|9|z | |
y Dim Zona#,6 macht entonces
| 0|1|2|3|4|5|6|z|8|9|z | |
de el Speicherbereich. Einverstanden? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.09.2008 ▲ |
|
|
|
|
| Auf gar no Fall debería Roland Speicher pintura unklarer Zuordnung, dass kann incluso crashen.
Wenn überhaupt podría Roland +1 reservieren, hinten una 0 reintun, entonces en +0 reservieren. El 0 "hinten" dran wäre entonces aber siempre todavía inkonsistent - also auch Quatsch. |
|
|
| |
|
|
|
Jörg Sellmeyer | Naja - irgendwie ähnlich muß él lo en efecto beim ersten Tiempo hacer... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.09.2008 ▲ |
|
|
|
|
RGH | Auch si yo en el Fiesta bin:
Dim reserviert Speicher, beschreibt ihn pero no. Lo se also auch kein Null-Byte eingefügt.
Was vermutlich irritiert, Es el Tatsache, dass sowohl String$() como auch Char$() de Tempogründen el Bereichsgrenzen no überprüfen. Hier puede ser sicher para kommende XProfanversionen diskutieren, si una solche Überprüfung sinnvoll o no.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 01.09.2008 ▲ |
|
|
|
|
Jörg Sellmeyer | Aber si yo una Zona dimensioniere, es doch el letzte Byte siempre primero una Nullbyte: KompilierenMarcaSeparaciónCls
Declare B#
Dim B#,10
Print SizeOf(B#)
Print Len("123456789")
Char B#,9,"z"
String B#,0= "123456789"
String B#,0= "0123456789" das knallt
Print String$(B#,0)
Char B#,9,"z"
Print String$(B#,0)
Dim B#,6
String B#,0="98765"
Print String$(B#,0)
Dispose B#
Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.09.2008 ▲ | |
|
|
|