Deutsch
Forum

Fehler: Compilat kann nicht hinzugefügt werden

 

Erasmus.Herold
Hallöchen ...

Diese Meldung habe ich nun nach vielen Jahren XProfan zum ersten Mal.
Das Programm wird kompiliert. Anschließend soll eine EXE generiert werden.

Meldung zum Abschluss:
Fehler: Compilat kann nicht hinzugefügt werden

Wer hat eine Idee?
Das Programm läuft fehlerfrei durch den Interpreter.

Gruß
Erasmus

310 kB
Hochgeladen:16.09.2019
Ladeanzahl130
Herunterladen
 
16.09.2019  
 




p.specht

Irgendwo ein PRINT ,
ohne PRINT "",
?

Oder ein Doppelpunkt am Ende einer Befehlszeile, sodaß daraus ein überlanger Label wird?

(Meine Erfahrungen beschränken sich auf XProfan11.2a)
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
16.09.2019  
 




Erasmus.Herold
Perfekt - danke
 
16.09.2019  
 




Sven
Bader
Leider muss ich das Thema noch mal aufwärmen. Ich erhalte die Fehlermeldung recht häufig bei großen Programmen in XProfan X4.

Irgendwie erkenne ich aber kein Muster daran, es passiert bei "Programm erzeugen" also Compilieren + Linken, wenn ich separat compiliere und linke erhalte ich keinen Fehler. Manchmal läuft es aber auch bei "Programm erzeugen" sauber durch.

Es scheint irgendwie zeitkritisch zu sein, ich bin mir aber nicht sicher.



Bei einem Programm bekomme ich (im Wechsel!) teilweise auch diese Meldung, wenn ich die Zeile mit der Ressource auskommentiere in der Regel wieder die andere Meldung.



Grüße
Sven

13 kB
Hochgeladen:06.09.2021
Ladeanzahl27
Herunterladen
11 kB
Hochgeladen:06.09.2021
Ladeanzahl31
Herunterladen
 
06.09.2021  
 




H.Brill
Hast du den Befehl ProgEnd auch im Quelltext angegeben
und dann auf der Konsole mit Copy /b ... Daten hinzu gefügt ?

Dieser Befehl stammt ja noch aus der Not heraus, als Profan
noch keine Ressourcen unterstützte und ersparte somit einen
Ressource-Editor, wie den ResHacker. War nur gedacht, um
kleine Texte usw. einzubinden.

Mittlerweile braucht man diesen Befehl nicht mehr und ist nur
wegen der Kompatibilität drin.

Aber hier scheint es sich ja offensichtlich um ein Ressourcenproblem
zu handeln (Res.Res). XProfan fügt ja ab X4 die Runtime als Ressource
dazu. Wenn dein Quelltext abwärtskompatibel zu X3 ist, würde ich
mal in X3 compilieren und schauen, ob der Fehler dort auch kommt.

Wenn mit deinen Ressourcen alles in Ordnung ist (Lesen/Schreiben),
müßte Roland mal schauen. Da es ja auch nur in großen Programmen
bzw. Quelltexten vorkommt, könnte es sein, daß Roland irgendeinen
Speicherbereich zu knapp bemessen hat.

Die beiden Fehlermeldung sind für mich logisch. Der erste kommt, um die
Runtime als Ressource dazu zu linken und der zweite, wenn die Ressource
Res.res dazu kommt, ist dann auch logisch. Es ist anzunehmen, daß zuerst
die im Quelltext vorkommenden Ressourcen und dann zuletzt die Runtime als
Ressource dazu gelinkt werden.

Du kannst auch mal versuchen, deine Ressource mit dem ResHacker in die
Prfrun32.exe zu integrieren und in deinem Programm halt nur die Ressource
laden. Kommt dann auch der/die Fehler ?

Es scheint so, daß da nur Roland der Sache auf den Grund gehen kann.
 
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.
07.09.2021  
 




Sven
Bader
Danke für die Antwort! ich habe eine Vermutung, werde das noch verifizieren. Ich hab im Runtimemodul Icons ausgetauscht, die etwas größer sind, eventuell liegt es daran. Den Progend Befehl verwende ich nicht.

Grüße
Sven
 
07.09.2021  
 




H.Brill
Das dürfte eigentlich unproblematisch sein. Man kann ja auch
noch mehrere Icons, Bitmaps usw. hinzu fügen. Da wird halt
die Runtime etwas größer. Die Ressourcen selber werden ja
mit ihrem Namen bzw. einer Zahl abgerufen.

Ich denke da eher an riesige Programmcodes. Es ist meistens
so, daß man im allgemeinen so an 50 - 300 Zeilen hat. Meine
kleinen Programme, die ich mir erstelle, kommen meist an die
50 - 100 Zeilen. Wieviele Zeilen hat denn deines ?

Darum ist der Bug wahrscheinlich auch keinem aufgefallen,
weil die Quellcodegröße nicht groß war. Kürze doch mal dein
Programm auf das Nötigste und versuche dann mal neu zu
compilieren. Die Ressourcen natürlich beibehalten. Evtl. finden
wir da eine Richtung, wo der Fehler zu suchen ist.
Und wie gesagt, ab X4 dröselt Roland die Teile (.PRC, Runtime
usw. ) anders zusammen.
 
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.
07.09.2021  
 




Sven
Bader
Nun habe ich etwas getestet und beziehe mich erstmal nur auf die Fehlermeldung "Compilat kann nicht hinzugefügt werden"

Wenn ich in der fertigen EXE Ressourcen hinzufüge, lässt sich das Programm irgendwann nicht mehr ausführen, das war schon immer so. Mit der PRFRUN32.EXE gab es bisher nie Probleme. Das konnte ich aber nun auch ausschließen, es geht auch mit der unveränderten originalen prfrun32.exe nicht.

Auch den Editor konnte ich ausschließen, mit dem "alten" Editor für X4 passiert es auch. "Programm erzeugen" ging in mehreren Versuchen nicht. Compilieren geht immer, das saparete Linken klappte im 2. (!) Versuch.

Das hinzufügen der Resourcen Datei klappt gefühlt erst beim 50. Versuch, nach der oben genannten Fehlermeldung mit dem ProgEnd gibts auch noch eine Zugriffsverletzung:



Die Ressource ist übrigens ein einzelne 32 Bit Bitmap mit einer Toolbar mit 40Kb Größe. Das Programm ist meine Version des Xprofed mit ca. 5.000 Zeilen (+ die Header Dateien von ca. 15.000 Zeilen)

Ich compiliere eigentlich ausschließlich mit Profan2CPP, nur wenn es wegen neuer nicht änderbarer Syntax nicht geht weiche ich auf X4 aus.

7 kB
Hochgeladen:07.09.2021
Ladeanzahl80
Herunterladen
 
07.09.2021  
 




H.Brill
Donnerwetter, 5.000 Zeilen + 15.000 Zeilen Headerdateien
Ein solcher riesiger Code ist schon gewaltig. Sowas kommt
ja höchst selten vor. Das ist auch der Grund, weshalb das
noch niemand vorher gemerkt hat.

Eine Toolbar dürfte nun ja überhaupt keine Probleme machen.
Überschreibst du die originale Toolbar32 oder fügst du deine
hinzu ? Und außergewöhnlich groß, gegenüber den Integrierten,
ist sie ja auch nicht.

Und mit was fügst du die Ressource ein ?
Mit XProfan - Befehlen oder vor dem Erzeugen mit z.B. dem
ResHacker in die Prfrun32.exe ?

Da es aber auch mit der originalen Prfrun32.exe nicht funktioniert,
gehe ich mal davon aus, daß es etwas mit der Umstellung des
Compilers bei Version X4 zu tun hat. Am besten schreibst du mal
in Paules Forum, Abteilung XProfan bei den Bugs. Dort liest Roland
häufiger mit.
 
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.
07.09.2021  
 




Sven
Bader
Danke für die Antwort. Ich forsche selbst noch ein bisschen.

Die Ressource kommt über den Programmcode über die $RES Direktive rein, die gibt es seit X3, in meinem Beispiel liest es sich etwas komisch Die Datei selbst habe ich mit dem Ressource Hacker erstellt. Ich verwende einen abweichenden Namen für die Ressource.
 $RES RES.RES

Und nochmal: manchmal (selten) funktioniert es einfach!

Ich werde es ggf. nochmal mit dem unverbasteltem XProfed Code probieren, X3 habe ich leider nicht.

Die Größe der Header Dateien ist übrigens nichts besonderes, allein die windows.ph hat schon 11.000 Zeilen. Ich glaube davon landet gar nichts in der EXE, da es sich ja im Grunde nur um eine Übersetzungstabelle handelt und auch beim Compilieren nicht mitgezählt wird.

5.000 Zeilen finde ich für ein ernsthaftes Projekt nicht viel, man muss hier im Code für Übersicht sorgen aber den Compiler sollte es nicht stören. Die meistens Limits sind in Profan 9.0 schon gefallen (u.A. mehr als 64k Zeilen).
 
07.09.2021  
 




H.Brill
Sven Bader (07.09.2021)
Ich werde es ggf. nochmal mit dem unverbasteltem XProfed Code probieren, X3 habe ich leider nicht.



Vielleicht könntest du mal mit FreeProfan probieren. Gibt es hier im Forum
zu laden. Bis auf das WebControl und ein paar kleine Sachen ist das ja
kompatibel zu X3.
Außerdem gibt es auch noch eine 64-Bit Version von FreeProfan.
Benutze ich auch gerne, wenn meine Anwender auf eine 64Bit Version
bestehen.
 
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.
07.09.2021  
 




Sven
Bader
Nachdem es mit FreeProfan (32 Bit, X3.1 basierend) mehrfach sauber durchlief, ging es in X4 jetzt auch wieder mehrfach. Nach einem Systemneustart wohlgemerkt, davor lief es reibungslos wenn der Code in einem Ordner auf dem Desktop lag aber nicht auf einem anderen Laufwerk. Ich höre jetzt auf zu "forschen", werde Roland dennoch mal ansprechen, er weiß ja dann in etwa wo er gucken muss, auch wenn er es nicht reproduziert bekommt.
 
07.09.2021  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.626 Betrachtungen

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