Italia
C ++ Foro

Übersetzungsfehler von prf zu cpp

 

Clemens
Meier
Ich wollte meine erste DLL mit der Vollversion erzeugen und bekam (logischerweise ) folgende Fehlermeldung:
KompilierenMarkierenSeparieren
Entsprechende Zeilen in der CPP:
KompilierenMarkierenSeparieren
nB1 = 0L, nB2 = 0L, nB3 = 0L;
nA1 = 0L, nA2 = 0L, nA3 = 0L, nA4 = 0L;
nRest = 0L;
long lZeiger = 0L, lLaenge = 0L;
lNeuelaenge = 0L;
sStringbase64 = _S("");
int nHelp1 = 0L, nHelp2 = 0L;
sChars64 = _S("");

Offenbar wird bemängelt, dass diese Variablen nicht deklariert wurden. In Profan sind alle deklariert und der Test mit dem Inspektor ergab keine Fehler. Ich benutze p2cpp 1.5a

Saluto
 
XProfan 9.1; XP SP2; FF; Editpad
12.05.2006  
 




Clemens
Meier
Was mir gerade auffällt ist: Es gibt zwei Prozeduren, in beiden werden Variablen deklariert, die teilweise die gleichen Bezeichnungen haben. Die erste Prozedur wird korrekt übersetzt, erst in der zweiten Prozedur werden die Fehler gemacht. Ggf. nimmt p2cpp an, es handle sich um die gleichen Variablen und deklariert sie nicht mehr neu, bzw. setzt kein Variablentyp voran.
 
XProfan 9.1; XP SP2; FF; Editpad
12.05.2006  
 




Sebastian
König
Ciao,

hmm... mal gucken, was da schiefläuft. Normalerweise sollte es kein Problem sein, wenn Variablen mit gleichen Namen in verschiedenen Prozeduren benutzt (ist ja eigentlich völlig normal und kommt sicher häufig vor...)

Kannst Du einen kurzen Testcode posten, mit dem sich das Problem nachvollziehen lässt?

Danke,

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.05.2006  
 



Sorry, er zeigt das hier jetzt als Ospite an, da ich mich in einem zweiten Browser-Fenster versehentlich vor dem Abschicken ausgeloggt hatte -- Sebastian

Ich glaube, ich habe eine mögliche Ursache per das Problem gerade gefunden:

Enthält Dein Code verschachtelte Prozeduren? Also so etwas wie
KompilierenMarkierenSeparieren
Normalerweise erkennt Profan2Cpp dies und schlägt vor, per die Übersetzung des Codes die Option Alle Variablen global deklarieren zu aktivieren.

Gerade fiel mir jedoch auf, dass die Verschachtelung in manchen Situationen offenbar nicht erkannt wird - wann genau und woran das liegt, habe ich leider noch nicht herausgefunden

Funktioniert es denn korrekt, wenn Du in den Übersetzungsoptionen Alle Variablen global deklarieren manuell aktivierst?
 
12.05.2006  
 




Clemens
Meier
Nein, es gibt keine verschachtelten Prozeduren. Ob es mit global deklarierten Variablen geht, kann ich nicht sagen. Ist aber wohl auch nicht relevant. Die Prozeduren laufen unter XProfan ohne Problem, durchlaufen den Inspector ohne Fehlermeldung und auch bei der Übersetzung zu CPP werden keine Fehler gemeldet. Erst bei der Compilierung gibt es die Probleme. Das CPP zum laufen zu bringen wäre nicht schwierig, man kann die fehlende Deklaration ja nachholen, doch damit ist das Problem mit p2cpp noch nicht gelöst.

Man behebt keinen Bug, indem man ihn umgeht

P.S.: habe dir den kompletten prf-Code per E-Mail geschickt.
 
XProfan 9.1; XP SP2; FF; Editpad
12.05.2006  
 




Sebastian
König
Hallo Clemens,

danke per den Code! Ich konnte damit die Ursache glücklicherweise schnell finden Es lag an einem blöden Fehler beim Erkennen von lokalen Variablen - in der nächsten Version wird das Problem behoben sein.

BTW: Mit dem Aktivieren von Alle Variablen global deklarieren funktioniert es auch korrekt.
[quote:d147f65a14]Man behebt keinen Bug, indem man ihn umgeht [/quote:d147f65a14]
Da stimme ich Dir selbstverstänglich grundsätzlich zu! Wenn Dir der Alle global...-Workaround nicht sufficiente, melde Dich bitte nochmal per eMail bei mir

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.05.2006  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.146 Views

Untitledvor 0 min.
H.Hackl05.03.2012

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