Deutsch
C ++ Forum

Ü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

Gruß
 
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
Hallo,

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 Gast an, da ich mich in einem zweiten Browser-Fenster versehentlich vor dem Abschicken ausgeloggt hatte -- Sebastian

Ich glaube, ich habe eine mögliche Ursache für das Problem gerade gefunden:

Enthält Dein Code verschachtelte Prozeduren? Also so etwas wie
KompilierenMarkierenSeparieren
Normalerweise erkennt Profan2Cpp dies und schlägt vor, für 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 für 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 genügt, 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  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.154 Betrachtungen

Unbenanntvor 0 min.
H.Hackl05.03.2012

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