Änderung am Befehl NULL ?

Moderators: Der Wanderer, Blackbird

Re: Änderung am Befehl NULL ?

Postby Blackbird » 27. October 2014, 17:07

sowie den Orginal Null Token in "StrToAdr" umbenannt.


Ich glaube das war nicht so gut, denn jetzt werden alle "neuen" Sourcen die Null verwendet haben (NTUI z.B) ebenso ersetzt, und das wäre absolut falsch !
User avatar
Blackbird
Globaler Moderator
 
Posts: 666
Joined: 9. October 2013, 17:41
Location: Coburg

Re: Änderung am Befehl NULL ?

Postby tomsmart1 » 27. October 2014, 20:56

Nein werden sie normalerweise nicht da die Tokensierung erst beim/nach dem Laden des ASCII Sourcecodes normalerweise .ab3 Format als auch bei .ab2 Format vorgenommen wird. Dadurch das NULL als Befehls vorhanden ist bekommt es die neue TokenID für Lib 107 Funktion 20 anstatt die alte für Funktion 1 der BlitzLib deswegen musste ich ja auch den Compiler abändern so das er nur die neue TokenID ersetzt.

Damit das ganze funktioniert muss ein neuer Befehls-Index erzeugt werden was bei einer Neuinstallation automatisch passiert. Beim Überkopieren der geänderten Dateien muss man das in PEd übers Menü aktivieren. Dies gilt auch für AIDE da muss man die alten Indexdateien die der AB3Scanner anlegt löschen so das sie beim nächsten Start neu angelegt werden.

Die automatische Konvertierung von NULL nach StrToAdr kommt nur mit Sourcecode vor die tokenisiert gespeichert wurden also alle ältere die im .bb(2) Format und bei diesen wurde NULL("string") und nicht NULL als 0 benutzt zu 99% ;)
Ich denke daher das dies die Lösung mit der höchst möglichen Kompatibilität des Problems ist, oder ?

Also ich kann mit AIDE ohne Probleme mit der dieser neuen Version aus PED heraus compilieren.
tomsmart1
Master
 
Posts: 289
Joined: 10. October 2013, 19:15

Re: Änderung am Befehl NULL ?

Postby Blackbird » 27. October 2014, 21:16

Muß ich ausprobieren, den Befehlsindex hatte ich nicht aktualisiert.....

Ps: Ok, funktioniert, ich hatte aber die muisourcen schon nach .ab3 convertiert.
User avatar
Blackbird
Globaler Moderator
 
Posts: 666
Joined: 9. October 2013, 17:41
Location: Coburg

Re: Änderung am Befehl NULL ?

Postby tomsmart1 » 27. October 2014, 21:40

Das hatte ich aber extra in das Commitlog und in Attention_Important.txt geschreiben ;)

Code: Select all
BiltzLibs/Userlibs/ElmorSysLib
- copied Null function to function ID 20 of the BlitzLib
- renamed old Null function to StrToAdr to make it work again
new obj file
new DefLibs file

Compiler
- changed TokenID to overwrite form old Null to new Null Token to make StrToAdr
working
new exe

Update the corresponding Docs and the tokeninfo files.

A update of the Instruction index is needed if you only copy over the updated
files!


ich hatte aber die muisourcen schon nach .ab3 convertiert.

Beim Testen hattest du aber noch den alten Befehlsindex und TokenHashmap und der kannte nur NULL mit der alten TokenID und die wird ja jetzt nicht mehr vom Compiler überschreiben.
Da kann ich dir die Handarbeit fürs konvertieren nicht abnehmen damit das in Zukunft noch compiliert ;)
tomsmart1
Master
 
Posts: 289
Joined: 10. October 2013, 19:15

Re: Änderung am Befehl NULL ?

Postby Der Wanderer » 3. November 2014, 05:09

Ich habe heute ein SVN update gemacht und jetzt kompiliert alles mit NULL nicht mehr:

Code: Select all
AmiBlitz3 >>>
/AmiBlitz3_Beta -s "Work:Sourcecodes/Amiblitz3/Sourcecodes/AIDE/AIDE.ab3" -v 2 -e "/AIDE/AIDE"
Compiling "Work:Sourcecodes/Amiblitz3/Sourcecodes/AIDE/AIDE.ab3"...
Pass 0...
Include "Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/ab3support.include.ab3"...
Compiler Error #1 <Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/ab3support.include.ab3@61>
  Calls with a return value must be put in brackets, or\nwrong number of parameters.
  _AB3SupportBase = Null
Compiler Error #2 <Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/ab3support.include.ab3@83>
  Calls with a return value must be put in brackets, or\nwrong number of parameters.
  _AB3SupportBase = Null
Include "Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/error.include.ab3"...
Include "Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/ntui.include.ab3"...
Include "Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/NTUI/main.ab3"...
Include "Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/NTUI/definitions.ab3"...
Include "Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/useful.include.ab3"...
Include "Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/strptr.include.ab3"...
Compiler Error #3 <Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/strptr.include.ab3@251>
  Calls with a return value must be put in brackets, or\nwrong number of parameters.
  strA=Null
Compiler Error #4 <Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/strptr.include.ab3@252>
  Calls with a return value must be put in brackets, or\nwrong number of parameters.
  strB=Null Then Function Return 0 : Else Function Return -1
Compiler Error #5 <Work:Sourcecodes/Amiblitz3/Sourcecodes/Includes/strptr.include.ab3@253>
  Internal Optimizer 2 stack error! Please report as bug!
  strB=Null Then Function Return 0 : Else Function Return -1
User avatar
Der Wanderer
Globaler Moderator
 
Posts: 396
Joined: 3. September 2013, 10:26

Re: Änderung am Befehl NULL ?

Postby Der Wanderer » 3. November 2014, 05:14

StrToAdr hat zwei Unschönheiten:

1. Im Englischen schreibt man "Address" mit 2 d, also "StrToAddr"
2. Die Beschreibung passt nicht ganz. Es konvertiert keinen String zu einer Adresse, sondern holt sich die Adresse eines Strings. Um genauer zu sein, es kopiert den String und setzt ein 0 Byte an das Ende, und gibt dann die Adresse zurück. Der Grund dafür ist dass BlitzBasic 1 keine 0-terminierten Strings hatte, für OS funktionen aber solche gebraucht werden. Deshalb heist die Funktion überhaupt auch (missverständlicherweise) "Null". Besser wäre sowas wie "GetStrAddr" oder "ToCStr", aber seit man auch "&" schreiben kann, z.B. "&myString$", ist der Befehl nicht mehr notwendig.
User avatar
Der Wanderer
Globaler Moderator
 
Posts: 396
Joined: 3. September 2013, 10:26

Re: Änderung am Befehl NULL ?

Postby Blackbird » 3. November 2014, 09:50

Also alles wieder rückgängig machen und & verwenden....

Trotzdem finde ich es nicht die feine Art Befehle zu ändern und das nicht zu dokumentieren, sei es in der Onlinehilfe noch in der Doku zum Befehl...
User avatar
Blackbird
Globaler Moderator
 
Posts: 666
Joined: 9. October 2013, 17:41
Location: Coburg

Re: Änderung am Befehl NULL ?

Postby tomsmart1 » 3. November 2014, 17:55

[quote="Der Wanderer"]Ich habe heute ein SVN update gemacht und jetzt kompiliert alles mit NULL nicht mehr:[quote]

Wer lesen kann ist klar im Vorteil sie commitlog:
Code: Select all
A update of the Instruction index is needed if you only copy over the updated
files!


"Damit das ganze funktioniert muss ein neuer Befehls-Index erzeugt werden was bei einer Neuinstallation automatisch passiert. Beim Überkopieren der geänderten Dateien muss man das in PEd übers Menü aktivieren. Dies gilt auch für AIDE da muss man die alten Indexdateien die der AB3Scanner anlegt löschen so das sie beim nächsten Start neu angelegt werden."
tomsmart1
Master
 
Posts: 289
Joined: 10. October 2013, 19:15

Re: Änderung am Befehl NULL ?

Postby tomsmart1 » 3. November 2014, 17:57

Der Wanderer wrote:StrToAdr hat zwei Unschönheiten:

Ich kann damit leben wenn es dir nicht gefällt kannst du es ja anpassen :D
tomsmart1
Master
 
Posts: 289
Joined: 10. October 2013, 19:15

Re: Änderung am Befehl NULL ?

Postby Blackbird » 4. November 2014, 00:18

tomsmart1 wrote:
Der Wanderer wrote:StrToAdr hat zwei Unschönheiten:

Ich kann damit leben wenn es dir nicht gefällt kannst du es ja anpassen :D


Der Wanderer hat Recht, die Namensgebung ist irreführend... Ich tendiere auch zu GetStrAddr...
Wenn du also Lust und Muße hast, könntest du das nochmal Ändern und dokumentieren, weil kein Source wird in der kurzen zeit die Änderungen am Befehl umgesetzt haben.
Außer evtl. meine Muisource, aber der ist nicht wichtig und ist auch schnell geändert...
User avatar
Blackbird
Globaler Moderator
 
Posts: 666
Joined: 9. October 2013, 17:41
Location: Coburg

PreviousNext

Return to AB³ Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron