Deutsch
Forum

List$ in X4

 
- Seite 1 -



Walter
Der Interpreter von XProfan X4 stürzt mit "Zugriffsverletzung" ab:

cls
list$ 0 = "Anfang"
print list$(0)
waitinput

In der exe funktioniert es.
 
28.06.2018  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


H.Brill
Wundert mich, daß es in der exe funktioniert.
Das dürfte normalerweise gar nicht funtkionieren.

Hier fehlt eindeutig ein
DIM$ X

wobei X für die Anzahl der Einträge steht. Also
Dim$ 5' 5 Einträge
cls
list$ 0 = "Anfang"
print list$(0)
waitinput

Dann funktioniert das auch. Diese Listen haben NICHTS mit
der immer initialisierten Listboxliste zu tun. Wenn es auch veraltet
ist, sollte Roland vielleicht doch einen Hinweis bei


List!(N) - List$(N) - List%(N) - List&(N)


für Dim! x Dim$ x usw. in der Hilfe geben.

Listen kann man ja nicht genug haben.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
28.06.2018  
 




Walter
Danke!
 
28.06.2018  
 




Jörg
Sellmeyer
Kann es sein, dass du die Runtime noch nicht richtig eingetragen hast? Füg mal ein Print $ProfVer in den Code ein.
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.06.2018  
 




Walter
Ergibt 14.0-32
 
29.06.2018  
 




H.Brill
Was auch noch erwähnenswert wäre bzw. was nicht jeder
weiß :
Die dynamischen Arrays, die hinter den Listen mit DIM stecken,
kann man mit _SYSLIST$[], _SYSLIST%[], _SYSLIST&[] und
_SYSLIST![] auch erreichen und damit auch in den Move-Funktionen
verwenden. Auch die normalen Arrayfunktionen, wie SetSize() und
SizeOf() und CLEAR können verwendet werden.

Das gehört dann auch zu der Rubrik SYSTEMVARIABLEN.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
30.06.2018  
 




RGH
Diese vier überholten Listen, die vor Einführung von Arrays in XProfan als Array-Ersatz geschaffen wurden, werden in der Tat nach Abschaffung derselben durch diese vier dynamischen Arrays simuliert, damit alte Quellcodes noch funktionieren.

Bei neuen Programmen gibt es aber absolut keinen Grund, diese alten Listen zu benutzen, da dynamische Arrays deutlich vielseitiger sind.

Gruß
Roland
 
XProfan X4
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
30.06.2018  
 




Walter
Ist ja auch ein (ur)altes Programm, das ich nur in einem anderen Teil ergänzte, worauf es nun in X4 plötzlich nicht mehr laufen wollte!
 
01.07.2018  
 




H.Brill
RGH (30.06.2018)
Diese vier überholten Listen, die vor Einführung von Arrays in XProfan als Array-Ersatz geschaffen wurden, werden in der Tat nach Abschaffung derselben durch diese vier dynamischen Arrays simuliert, damit alte Quellcodes noch funktionieren.

Bei neuen Programmen gibt es aber absolut keinen Grund, diese alten Listen zu benutzen, da dynamische Arrays deutlich vielseitiger sind.

Gruß
Roland


ein bißchen widersprichst du dir aber.
Oben sagst du als erstes, daß diese Listen durch
dynamische Arrays simuliert werden. Im Abschnitt darunter
sagst du als zweites, daß man besser dynamische Arrays
wegen der Vielseitigkeit nehmen sollte.

Was ist jetzt der Unterschied zwischen den vier fest eingebauten
dynamischen Arrays und einem selbst deklariertem dynamischen
Array ?

Also, ich würde sagen :
Die vier festen Arrays würde ich beibehalten und wer will
kann sie ja benutzen. Mir sieht es jedenfalls so aus, als
wären diese vier ganz normale Arrays, deren Größe man
man vorher mit Dim$ usw. festlegen muß. Wären es dynamische,
käme auch kein Laufzeitfehler und auf das Dim$ /%/&/! könnte
verzichtet werden.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
01.07.2018  
 




RGH
Wo ist der Widerspruch?

Die speziellen dynamischen Arrays werden im Interpreter erst durch den DIM$-, DIM%-, DIM&- oder DIM!-Befehl erzeugt. Daher ist der DIM-Befehl wie bei den abgeschafften Originalen zwingend notwendig. So weit sollte die Simulation schon gehen.

Also DIM$ 20 erzeugt das dynamische Array _SYSList$[] und führt anschließen den Befehl SETSIZE _SYSList$[], 20 aus.
Aus LIST$ 15="Hugo" wird im weiteren Verlauf des Programmes dann: LET _SYSList$[15]="Hugo".
Und aus der Funktion LIST$(20) wird dann die interne Funktion _SYSList("$", 20), die das dynamische Array _SYSList$[] ausliest.

Gruß
Roland
 
XProfan X4
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.07.2018  
 




H.Brill
Aha, das wußte ich jetzt nicht, zu welchem Zeitpunkt
diese speziellen Arrays erzeugt werden. Hätte ja auch
sein können, daß sie beim Start der Runtime bzw. Interpreter
schon mit einem Element initialisiert werden und das DIM
einfach ein SetSize ist.

Dann kann man ja auch alles so lassen, wie es ist.

PS:
Das scheinen dann nochmals spezielle Arrays zu sein.
Du könntest doch, genau wie in der Hilfe zu dyn. Arrays,
beim Start des Interpreters bzw. Runtime ein einfaches
VAR _SYSLIST$[], _SYSLIST%[],
_SYSLIST&[], _SYSLIST![]

machen und alles ist initialisiert. Ein
List$ 15 = "Hugo"

wäre dann das : _SYSList$[15]="Hugo"
und setzt dann das Array auf 16 Einträge, wenn noch keine
vorhanden. Geht doch bei den normalen dyn. Arrays genau so.
Das DIM könnte dann zum Verkleinern des Arrays genutzt
werden oder auch wegfallen, da es SetSize gibt.

Dadurch wäre dann auch der Programmabsturz durch ein
vergessenes DIM erschlagen.
Ist mal nur so eine Überlegung.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
01.07.2018  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.440 Betrachtungen

Unbenanntvor 0 min.
H.Brill08.09.2024
Stringray05.01.2022
RudiB.22.04.2021
iF31.10.2020
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie