Author Topic: Fehler in INLINE?  (Read 4715 times)

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
Fehler in INLINE?
« on: 2009-Mar-08 »
Seit der neuen Version 6.184 geht ein Teil meines INLINE-Codes nicht mehr. Es handelt sich genauer gesagt um die Base64-Verschlüsselung von Moru aus dieser Quelle hier:

http://gamecorner.110mb.com/index.php?page=base64-encode-decode-library

Bis zur Version 6.174 lief das Ganze problemlos, Update auf 6.184: geht nicht mehr, Update rückgängig gemacht: geht wieder.

Irgend eine Idee? Ach ja, mittlerweile hab ich eine Premiumlizenz mit NET und 3D...

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5073
  • O Rly?
    • View Profile
Re: Fehler in INLINE?
« Reply #1 on: 2009-Mar-08 »
öhm, ich seh in dem Code kein INLINE  :|
Exe schmiert trotzdem weg, komisch !
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
Re: Fehler in INLINE?
« Reply #2 on: 2009-Mar-09 »
Äh... ups. mein Fehler :( . Der INLINE-Code stammte von TaToad aus dem Thread hier:

http://www.glbasic.com/forum/index.php?topic=2788.0

Ich verwend beide Teile nur zusammen (Überprüfung des verschlüsselten Files mit CRC32), daher das Mißgeschick. Aber klappen tuts immer noch nicht, und ich find keinen Fehler drin.  :'(

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5073
  • O Rly?
    • View Profile
Re: Fehler in INLINE?
« Reply #3 on: 2009-Mar-09 »
Schick doch bitte mal den Code mit dem "Fehler"...
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
Re: Fehler in INLINE?
« Reply #4 on: 2009-Mar-09 »
Anbei. Das Testprogramm sollte im Window-Titel zusätzlich anzeigen "Praxis Dr. Marliani". Geht mit der alten GLB-version, aber nicht mehr mit der neuen, wie gesagt.

[attachment deleted by admin]

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10759
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: Fehler in INLINE?
« Reply #5 on: 2009-Mar-09 »
Der Fehler liegt warscheinlich in dem String-Handling. Da habe ich was geändert.


Ah!

Code: (glbasic) [Select]
group$ = CHR$(u) + group$ // add to decoded temp-group

Das "u" ist bei mir zwishendurch 0.
Bitte  mit der alten Version: Was sind die Werte für "u" und was ist der Grou$ am Schluss?

« Last Edit: 2009-Mar-09 by Kitty Hello »

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
Re: Fehler in INLINE?
« Reply #6 on: 2009-Mar-09 »
Also das "u" wird zwischendurch immer mal wieder 0, das ist normal. Hier mal ein Auszug aus dem Trace der alten Version mit den ersten paar Durchläufen:

u     Group$
------------
104   ""
97     h
90     ah
0      Zah
114   ""
97     r
110   ar
0      nar
112   ""
116   p
112   tp
0      ztp
120   ""
97    x
114  ax
0     rax

usw. Wenn mans richtig rum zusammensetzt, kommt so "Zahnarztpraxis" raus. Endwert für u ist 0, für Group$ ist "i" (insgesamt gibt der String "Zahnrztpraxis Dr. Andrea Marliani")

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10759
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: Fehler in INLINE?
« Reply #7 on: 2009-Mar-09 »
Musst Du umbauen. Wenn 0, dann leer machen.

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
Re: Fehler in INLINE?
« Reply #8 on: 2009-Mar-09 »
Sorry, aber ich steh glaub ich auf der Leitung. Genau so funzt es, soweit ich den Code begriffen habe, doch schon. Die Werte für u und Group$ sind um je einen Schritt verschoben. u enthält immer den Wert, der zu Group$ im nächsten Schritt zugefügt wird, und 0 bedeutet Group$ an Teil$ anfügen und dann leeren. Zumindest hab ich Morus Code und den Trace so verstanden:

1. Schritt: u=104 (ASCII h), Group$ leer
2. Schritt: u=97 (ASCII a), Group$="h"
3. Schritt: u=90(ASCII Z), Group$="ah"
4. Schritt: u=0, Group$="Zah"
5. Schritt: u=114 (ASCII r aus der nächsten Dreiergruppe), Group$ wieder leer.

usw. Und, wie gesagt, bis Version 6.174 klappte der Code völlig einwandfrei. Irgend eine Idee, was da schief laufen könnte mit der neuen Version?

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10759
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: Fehler in INLINE?
« Reply #9 on: 2009-Mar-09 »
Der Schritt 5 geht jetzt nicht mehr.
group$ = "Zah0nar0ztp0rax" im neuen GLBasic, wobei "0" ein '\0', also CHR$(0) Character ist.
Das ist a grad in Deinem Fall ein Fehler.
Sorry, aber das war wichtig, weil nur so kann man jetzt Binäre Dateien laden.

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
Re: Fehler in INLINE?
« Reply #10 on: 2009-Mar-10 »
OK, begriffen, danke. Muß ich den Code halt entsprechend umbauen. Danke für die Hilfe!