Seite 2 von 3
Re: Assembler-Fragen
Verfasst: 06.10.2018 23:20
von ccode_new
@RSBasic:
RSBasic hat geschrieben:Oder du benutzt einen Hex-Editor und ersetzt in der Library-Datei "...\PureLibraries\Window" alle Zeichenketten "W i n d o w C l a s s _" durch deinen eigenen Klassennamen. Das geht zwar, aber dann hätten alle deine Fenster wieder denselben Klassennamen.
Bist du dir da sicher ?
Ich habe es mal ausprobiert und mit dem "Notepad" alle Vorkommen von "W i n d o w C l a s s _" (insgesamt 2) ersetzt gegen "FensterKlasse_".
Folgender Test liefert aber immer noch "WindowClass_0"
Code: Alles auswählen
Global class.s{1024}
OpenWindow(0, 0, 0, 800, 600, "Test")
GetClassName_(WindowID(0),@class,1024)
Debug PeekS(@class)
Repeat
Until WindowEvent() = #PB_Event_CloseWindow
Also so funktioniert das nicht.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Bitte lasst die Finger von Änderungen in PureBasic-System-Dateien.
Ich bekomme mit umgenannten WindowClass-Namen jetzt folgende Fehlermeldung in der IDE und der Compiler startet nicht mehr.
Also lasst es bitte bleiben!
Re: Assembler-Fragen
Verfasst: 07.10.2018 09:48
von RSBasic
Du darfst die Library doch nicht mit Notepad bearbeiten. Die Library ist binär und muss unbedingt mit einem Hex-Editor bearbeitet werden, da sonst beim Speichern mit Notepad die ganze Datei unbrauchbar wird. Notepad ist für sowas nicht geeignet und nicht ausgelegt. Nutze bitte, wenn du binäre Dateien ändern möchtest, einen Hex-Editor.
Ich habs vorhin getestet und es hat funktioniert:
Außerdem darf die Länge des Strings, der ersetzt wird, nicht verändert werden.
Da Notepad die Library-Datei zerstossen hat, musst du PB neu installieren.
Re: Assembler-Fragen
Verfasst: 07.10.2018 10:24
von ¯\_(ツ)_/¯
Danke Leute wieder für eure Hilfen!
Ja den Code werde ich nutzen, danke!
ccode_new hat geschrieben:Bitte lasst die Finger von Änderungen in PureBasic-System-Dateien.
Also lasst es bitte bleiben!
Ich bekomme mit umgenannten WindowClass-Namen jetzt folgende Fehlermeldung in der IDE und der Compiler startet nicht mehr.
Ja wenn man keine Ahnung davon hat dann unbedingt die Finger von Änderungen in PureBasic-System-Dateien lassen.

Re: Assembler-Fragen
Verfasst: 07.10.2018 10:30
von juergenkulow
Hallo,
Eine Assembler-Frage: Bei welchen Funktionen setzt Du heute sinnvoll Inline-ASM oder Maschinencode ein?
Re: Assembler-Fragen
Verfasst: 07.10.2018 10:34
von RSBasic
Wenn du z.B. Werte schnell speichern und verarbeiten möchtest (z.B. bei Berechnungen u.ä.), da der Register-Speicher deutlich schneller ist, als der Arbeitsspeicher.
Re: Assembler-Fragen
Verfasst: 07.10.2018 10:59
von ccode_new
Du darfst die Library doch nicht mit Notepad bearbeiten. Die Library ist binär und muss unbedingt mit einem Hex-Editor bearbeitet werden, da sonst beim Speichern mit Notepad die ganze Datei unbrauchbar wird. Notepad ist für sowas nicht geeignet und nicht ausgelegt. Nutze bitte, wenn du binäre Dateien ändern möchtest, einen Hex-Editor.
Jepp! Ok, das "Notepad" kann halt keine Binären-Dateien korrekt bearbeiten. (Ist halt nur für Text)
Mit einem Hex-Editor (wie schon mehrfach erwähnt, und von mir ignorant ignoriert worden) geht es aber tatsächlich.
¯\_(ツ)_/¯ hat geschrieben:Ja wenn man keine Ahnung davon hat dann unbedingt die Finger von Änderungen in PureBasic-System-Dateien lassen.
Da gebe ich dir vollkommen Recht!
Re: Assembler-Fragen
Verfasst: 07.10.2018 20:06
von ccode_new
Code: Alles auswählen
BinFile.s = OpenFileRequester("Window-Lib wählen", "*.*", "*.*", 0)
SuchName.s = InputRequester("Klassennamen suchen!", "Bitte den zu suchenden Windows-Klassennamen eingeben.", "WindowClass")
Repeat
NeuerName.s = InputRequester("Neuer Klassenname!", "Windows-Klassennamen eingeben. (Länge: 11 Zeichen)", "MeinFenster")
Until Len(NeuerName) = 11
If FileSize(BinFile)
If OpenFile(0, BinFile)
length = Lof(0)
*FileBuffer = AllocateMemory(length)
If *FileBuffer
bytes = ReadData(0, *FileBuffer, length)
For i = 0 To bytes
If PeekS(*FileBuffer+i, 11) = SuchName
PokeS(*FileBuffer+i, NeuerName, 11, #PB_String_NoZero)
EndIf
Next i
FileSeek(0, 0)
WriteData(0, *FileBuffer, Lof(0))
EndIf
CloseFile(0)
EndIf
EndIf
Wer es braucht.
Aber bei vielen PureBasic-Versionen (vorallem 32bit Versionen) steht der Name "WindowClass" überhaubt nicht direkt in der "window.lib"
Der Text steht ja sonst als Unicode dort drin. Sehr viel anderer Text ist aber Ascii.
Naja, es ist eigentlich SINNLOS und ich kann es auch niemanden empfehlen diesen Code, oder einen Hex-Editor, etc. zum verändern von PureBasic-System-Dateien zu verwenden.
Re: Assembler-Fragen
Verfasst: 07.10.2018 21:23
von NicTheQuick
Hat sich jemand mal die Lizenz von Purebasic durchgelesen und kann sagen, ob man diese Bibliotheken überhaupt ändern darf? Solche Änderungen werden meist verboten von vielen Softwareherstellern.
Re: Assembler-Fragen
Verfasst: 08.10.2018 09:17
von RSBasic
Gibt es überhaupt irgendwo eine ausführliche Lizenz? Ich konnte nur in der Hilfe den Eintrag "Rechtliches" finden.
Dort steht nur, dass alle Bestandteile, Bibliotheken und alle Binär-Dateien von Fantaisie Software urheberrechtlich geschützt seien, aber nicht explizit, dass man diese nicht modifizieren darf. Aber muss man überhaupt explizit hinschreiben, dass es nicht erlaubt ist?
Aber selbst wenn es erlaubt wäre, würde ich die Dateien eh nie verändern. Dafür gibt es bessere Lösungen.
Re: Assembler-Fragen
Verfasst: 09.10.2018 06:02
von DarkDragon
Werden nicht im Windows PB Installer die Lizenzbedingungen angezeigt?