Deutsch
C ++ Forum

Erster Test fehlgeschlagen

 

E.T.
Hallo,

als erstes vorweg: Ich habe NULL Ahnung von C++ !!

Bei meinem heutigen (ersten) Versuchen mit Profan2Cpp (Testversion 1.6c und Borland-Compiler 5.5) bin ich gleich stecken geblieben. Hier die Prog-Ausgaben:
Profan2Cpp - Testversion 1.6c
Projekt laden --->
Eingabe: CATENProfan 10PrintMakerVirtPage2.prf
Ausgabe: CATENProfan 10PrintMakerVirtPage2_cpp

Binde Include-Dateien ein... ok.
Lese Header-Dateien... ok.
Überprüfe Syntax... ok.
Ersetze Header-Definitionen... ok.
Erstelle Verzeichnisse... ok.
Übersetze... ok.
Erstelle PrfMain.cpp... ok.
Kopiere Header... ok.
Kopiere Bibliotheken... ok.
Generiere Makefile... ok.

Projekt erfolgreich übersetzt!
[334 Zeilen in 381 ms]
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland

C:BorlandBCC55incc32.exe -o.objPrfMain.obj -c -w-8026 -w-8057 -w-8060 -w-8017 -w-8004 -w-8066 -w-8041 -q -O2 -tWM -v- -D_WINVER=0x0400 -D_WIN32_WINNT=0x0400 -IC:BorlandBCC55include PrfMain.cpp
PrfMain.cpp:
C:BorlandBCC55incc32.exe -o.objVirtPage2.obj -c -w-8026 -w-8057 -w-8060 -w-8017 -w-8004 -w-8066 -w-8041 -q -O2 -tWM -v- -D_WINVER=0x0400 -D_WIN32_WINNT=0x0400 -IC:BorlandBCC55include VirtPage2.cpp
VirtPage2.cpp:
Error E2268 VirtPage2.cpp 125: Call to undefined function schnappi_5 in function __stdcall ProfanThreadProc(void *)
Error E2268 VirtPage2.cpp 129: Call to undefined function schnappi_10 in function __stdcall ProfanThreadProc(void *)
*** 2 errors in Compile ***
** error 1 ** deleting .objVirtPage2.obj
Finished.

Wenn ich das richtig erkenne, wird nach der Funktion schnappi_5 bzw. schnappi_10
gesucht. Dies sind bei mir in Profan 2 Procs (welche da auch funktionieren). Lt. Hilfe soll dies ja auch als Proc angelegt werden und nicht (mehr) als Funktion.

Habs mit der Original-.prf und der Ausgabe von XPSE (welches auch nix zu beanstanden hat) probiert, immer das gleiche Ergebnis.

Ansonsten könnte ich mich für Profan2Cpp (und auch irgendwann mal ne Vollversion) schon begeistern, wenn die erstellten Programme dann wirklich schneller sind (aber das wurde wurde hier ja schon getestet)...

Mario
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
09.04.2008  
 




Michael
Wodrich
Hast Du evtl. die Prozeduren verschachtelt?

Sonst hilft da das Posten eines Minimalbeispiels, wo der Fehler auch vorkommt.
Meist entdeckt man dann beim Abspecken auf absolutes Minimum meist selbst den Fehler.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
10.04.2008  
 




E.T.
Hätte jetzt um diese Zeit nicht mit einer so schnellen Antwort gerechnet.


Michael Wodrich: Hast Du evtl. die Prozeduren verschachtelt?


Denke ich nicht, siehe Beispiel, bei dem es auch auftritt :
KompilierenMarkierenSeparieren
Declare Pos5&, Pos10&, Ende%

Proc Schnappi_5

    Parameters X%

    If (@Val(@Right$(@Str$(X%),1)) >=0) AND (@Val(@Right$(@Str$(X%),1)) <3)

        WhileNot (@Val(@Right$(@Str$(X%),1)) = 0) OR (@Val(@Right$(@Str$(X%),1)) = 5)

            dec X%

        EndWhile

    ElseIf (@Val(@Right$(@Str$(X%),1)) >=5) AND (@Val(@Right$(@Str$(X%),1)) <8)

        WhileNot (@Val(@Right$(@Str$(X%),1)) = 0) OR (@Val(@Right$(@Str$(X%),1)) = 5)

            dec X%

        EndWhile

    Else

        WhileNot (@Val(@Right$(@Str$(X%),1)) = 5) OR (@Val(@Right$(@Str$(X%),1)) = 0)

            inc X%

        EndWhile

    EndIF

    Return @Str$(X%)

EndProc

Proc Schnappi_10

    Parameters X%
    Return @Str$(@Round(X%,-1))

EndProc

Set(Decimals,0)
WindowStyle 512+16
WindowTitle Test-Seite
Window 50,50-400,400
CreateMenu
AppendMenuBar 1000,<<<      FERTIG - TEST BEENDEN      >>>
@Create(Text,%HWnd,Mauskoordinaten im...,50,20,150,20)
@Create(Text,%HWnd,...5er Raster :,20,50,100,20)
@Create(Text,%HWnd,...10er Raster :,20,80,100,20)
Pos5& = @Create(Text,%HWnd,---,---,120,50,55,20)
Pos10& = @Create(Text,%HWnd,---,---,120,80,55,20)
Clear Ende%

WhileNot Ende%

    GetMessage
    SetText Pos5&, Schnappi_5 (%MouseX) + , + Schnappi_5 (%MouseY)
    SetText Pos10&, Schnappi_10 (%MouseX) + , + Schnappi_10 (%MouseY)

    If @MenuItem(1000)

        Ende% = 1

    EndIf

EndWhile

end

Im Anhang hab ich mal das ganze Gewusel, welches Profan2Cpp auf meiner Platte hinterlassen hat (nicht böse gemeint), in eine .rar gepackt, incl. diesem Quellcode hier.

Vieleicht hilfts ja bei der Fehlersuche.

Mario

160 kB
Hochgeladen:10.04.2008
Ladeanzahl121
Herunterladen
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
10.04.2008  
 



Hinter Funktionsaufrufe ein Freizeichen vor der Folgeklammer?
 
10.04.2008  
 




E.T.

iF: Hinter Funktionsaufrufe ein Freizeichen vor der Folgeklammer?


DANKE !!
Geht doch !! So einfach sind halt die kleinen Freuden !!!

Jetzt hab ich auch den ShareWare-Hinweis, welcher von Profan2Cpp eingebunden wird, gesehen.

Scheint aber was zu sein, was XProfan, XPSE und Profan2Cpp nicht anmeckern.

Mario
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
10.04.2008  
 




E.T.
... und das erzeugte .exe-dingens ist ja auch noch nur 42% so groß wie die Profan-Exe !!

Klasse Programm !! Muß ich doch glattweg eben mal mit paar anderen Sachen probieren !!
Aber wenn ich das ganze Kauderwelsch im C++ - Ordner sehe, bleibe ich doch lieber bei XProfan.
Denn wofür wäre sonst Profan2Cpp gemacht, wenn nicht für solch Unwissenden wie mich !!

Mario
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
10.04.2008  
 




Sebastian
König
Hallo,

schön, wenn ein Problem schon gelöst ist, bevor ich den Thread überhaupt gelesen haben!

Aufrufe von Prozeduren als Funktionen mit Leerzeichen vor der öffnenden Klammer machen Profan2Cpp 1.6 in der Tat leider noch Probleme... In Profan2Cpp 2.0, das in Kürze (naja, mal schauen, wann genau) dann parallel mit XProfan 11 erscheint, wird das Problem aber behoben sein. Wenn Interesse besteht, würde ich im Moment also raten, auf die neue Version zu warten.

MfG

Sebastian

P.S.: Dass die mit C++ erzeugte Exe kleiner ist als die von XProfan gilt leider nur für relativ kleine Programme, da sich in diesem Fall auszahlt, dass aus den Bibliotheken nur dazugelinkt wird, was auch wirklich benötigt wird während XProfan natürlich immer die komplette Runtime dazulinkt. Es ist allerdings so, dass der native Maschinencode deutlich größer ist als XProfan-P-Code (die .prc-Dateien), sodass bei umfangreichen Programmen die C++-Variante dann größer ist...
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
10.04.2008  
 




Michael
Wodrich
@Mario:

Eine kleine Anregung:
KompilierenMarkierenSeparieren
----- Schnipp ----- Schnipp ----- Schnipp -----

Proc Schnappi_5

    Parameters X%

    If (@Val(@Right$(@Str$(X%),1)) >=0) AND (@Val(@Right$(@Str$(X%),1)) <3)

        If ((x% mod 10) >= 0) and ((x% mod 10) <= 3)

            WhileNot (@Val(@Right$(@Str$(X%),1)) = 0) OR (@Val(@Right$(@Str$(X%),1)) = 5)

                WhileNot ((x% mod 10) = 0) OR ((x% mod 10) = 5)

                    dec X%

                EndWhile

                ----- Schnapp ----- Schnapp ----- Schnapp -----

            EndIf

        EndProc


Schöne Grüße
Michael Wodrich

Mod liefert den Teilungsrest
 
Programmieren, das spannendste Detektivspiel der Welt.
12.04.2008  
 




Jac
de
Lad

KompilierenMarkierenSeparieren
(@Val(@Right$(@Str$(X%),1)) >=0)

Ist das nicht immer wahr?
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
12.04.2008  
 




E.T.
@Jac: Stimmt schon, aber mit der GANZEN ZEILE kommt eine andere Bedingung raus. Ist nicht nach der feinen Art geschrieben, aber ich glaube, da hat so jeder seine Marotten...

@Michael: Danke, so gehts auch. Bin im Moment froh, das es so klappt, wie es ist. Aber ich werds mir merken.

Mario
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
12.04.2008  
 




Jac
de
Lad
Aber weil es eine Und-Bedingung ist, kannst du den Teil weglassen.

Ja, ich hab auch so meine Marotten, die ich besser nirgendwo preisgebe.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
12.04.2008  
 




E.T.
Achso, jetzt weis ich, was du meinst. Naja, die Marotten....
Hat aber vieleicht den Vorteil, das ich in einem Jahr in meinem Quelltext noch
erkennen kann, wie ich (vieleicht auch manchmal falsch) gedacht habe.

Und die paar Byte mehr an Code sollten doch das Kraut nicht fett machen. Und m.E. ists ja nicht falsch, sondern nur verdrückt ausgekehrt oder doppelt gemoppelt.
Und wer weis, irgendwann könnten die Mauskoordinaten (wie in diesem Beispiel) ja auch mal negativ sein...

Mario
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.04.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.444 Betrachtungen

Unbenanntvor 0 min.
rquindt02.08.2015
iF19.07.2011

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