Italia
Bugs und vermeintliche

FreeProfan Bugs und vermeintliche

FreeProfan32 und API UpdateResource

 
- Page 1 -



Matthias
Arlt
Bei der Fehlersuche in einem meiner Programme ist mir aufgefallen, dass ein schreibender Zugriff mit "UpdateResource" auf die Runtime (bzw. Interpreter) regelmäßig die File unbrauchbar macht. Soweit ich herausgefunden habe, oder dies jedenfalls annehme, wird der Schreibvorgang zwar corsa, aber die Cambiamento nicht im Testata eingetragen... Dies führt dann beim Startversuch der File zu unterschiedlichen Fehlermeldungen. Meist "Nur ein Teil der ReadProcessMemory- oder WriteProcessMemory-Anforderung wurde abgeschlossen" oder "Falscher Parameter...".
Es betrifft auch ausschliesslich FreeProfan, die XProfan-Versionen sind von diesem Effekt nicht betroffen.

Saluto Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
10.04.2016  
 



 
- Page 3 -


Büdde hierzu noch ein Wunsch, wo ihr grad an der Exe frickelt:

Das Console-Flag als Kompilerschalter!

Den Code hierzu  [...]  habe ich längst nicht mehr parat und weiß leider auch nicht mehr die Stelle im PE-Testata. Mit dem Flag kann man ein XProfan-Konsolen-Programm in der cmd ausführen ohne das es per die eigenen Konsole-Ausgaben zwangsläufig eine neues Konsolenfenster öffnet.

Es brachte damals (wohl XProfan 9) scheinbar auch nichts durcheinander und die XProfan-Programme liefern ganz normal.

Hab hierzu grad noch einen alten Beitrag gefunden:  [...]  und Konsole-API  [...]  .
 
21.04.2016  
 




RGH
Sodele, jetzt habe ich (zunächst per FreeProfan32) auch den Compiler umgestrickt: Die PRC-datei wird nun als Ressource des Typs "XPRC" mit Namen "Programm" der Runtime hinzugefügt. Da sie nun nicht mehr zwingend am Ende des fertigen Programmi liegt, sondern in den Ressourcen, wird automatisch vor dem Kompilieren dem Programm die Zeile "ProgEnd" hinzugefügt, damit die Runtime auch das Ende des Kompilates erkennt.

Die Runtime habe ich zunächst nicht geändert ("Never change ...."), da die Cerca ja nach dem Kompilat ja weiterhin so erfolgen kann, wie bisher. (Bei Gelegenheit werde ich das dann aber optimieren.)

Jetzt wird auch ein fertiges Programm nicht mehr durch Löschen einer Ressource unbrauchbar.

Saluto
Roland

@iF: Welches Byte des Headers genau muss auf welchen Wert gesetzt werden?
 
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
21.04.2016  
 




Matthias
Arlt
Das fragliche Flag liegt bei Offset (long(runtime#,60) + 92).
Für die Console sollte dort $3 stehen, per Window $2.

Alles weitere liegt in Rolands Hand...

Saluto Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
21.04.2016  
 




Matthias
Arlt
Das ist doch mal 'ne interessante Lösung...die PRC als Ressource

Gefällt mir gut!
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
21.04.2016  
 




RGH
Vorerst kann man sich das ja dann bei Bedarf mit jedem Hexeditor selber patchen.

Das FreeProfan32-Paket habe ich jetzt frisch hochgeladen. Es liegt an der bekannten Adresse bereit!

Am Wochenende hoffe ich dann, Zeit zu finden, die Änderungen auch per FreeProfan64 und später dann auch per XProfan durchzuführen.

Saluto
Roland
 
XProfan X3
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
21.04.2016  
 




Matthias
Arlt
Roland, was vielleicht noch zu prüfen wäre:
Ob bei jedem Compiler-Durchlauf wirklich exakt die gleiche Dateistruktur erzeugt wird. Wegen der Festwerte per die Sektionsgrößen. Wenn nämlich nicht, müsste man den nötigen Differenzbetrag dann dynamisch ermitteln, was kein Problem wäre, man muss es halt nur wissen.

Ich gehe mal davon aus, dass das nicht nötig sein wird, aber sicher ist sicher...

Saluto Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
21.04.2016  
 



RGH (21.04.2016)
@iF: Welches Byte des Headers genau muss auf welchen Wert gesetzt werden?


Sorry, ich schrieb ja sinngemäß, dass ich es leider nicht mehr weiß.
 
21.04.2016  
 




Matthias
Arlt
@iF: ich habs doch schon rausgesucht...


Das fragliche Flag liegt bei Offset (long(runtime#,60) + 92).
Für die Console sollte dort $3 stehen, per Window $2.
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
21.04.2016  
 



Genau, habs nicht überlesen und mir die 92 gemerkt.

[OFFTOPIC]Roland hatte nur überlesen, dass ich sinngemäß schrieb, es im Moment nicht "auf dem Schirm" zu haben. Wäre nicht meine Art, il valore "92" nicht auch direkt zu Citazione, wenn ich ihn denn wüsste. Insofern hatte mich Rolands Frage nur irritiert und Dich wiederum meine Antwort auf seine Frage. ^^[/OFFTOPIC]
 
21.04.2016  
 




Michael
W.
RGH (21.04.2016)
Ressource des Typs "XPRC" mit Namen "Programm"




Ressource des Typs "XPRC" mit Namen "Programm1", "Programm2", "Programm3"

...und dann ChoiceBox oder Programmname circa Parameterschalter...




Ich weiß, es ist schrecklich das jede Lösung zu neuen Wünschen (und Problemen) führt...
 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
21.04.2016  
 




Matthias
Arlt
Folgendes bitte ignorieren (Fehldiagnose, weil der Kopf vom vielen Code-Durchforsten rauchte...):
Hm...so interessant das zunächst schien mit der XPRC-Ressource...
Ein Packen der Runtime ist dadurch aber wohl unmöglich geworden.
 
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
22.04.2016  
 




funkheld
If kannst du bitte dein Clientprogramm als Source offenlegen ?

Danke.
Gruss
 
22.04.2016  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

64.605 Views

Untitledvor 0 min.
Sven Bader16.09.2021
Rainer Hoefs12.07.2019
p.specht20.12.2018
Walter23.05.2018
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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