Français
C ++ Forum

Programme stürzt ab

 

Detlef
Jagolski
allô Sebastian,
si je qui Procédure SaveAccess aufrufe stürzt mon Programme ab, kann’s Du mir une Tipp donner.
sous XProfan fonctionne es sans Probleme.
Getestet avec Profan2cpp 2.0
merci dans voraus.

Salut
Detlef
Syntay-Check: aucun faute ou bien Warnungen
"CrogrammeDev-C++ing++.exe" -c PrfMain.cpp -o .objPrfMain.o -I"CrogrammeDev-C++include" -I"CrogrammeDev-C++includeg++" -L"CrogrammeDev-C++lib" -B"CrogrammeDev-C++in" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors
"CrogrammeDev-C++ing++.exe" -c Vorlage_Neu.cpp -o .objVorlage_Neu.o -I"CrogrammeDev-C++include" -I"CrogrammeDev-C++includeg++" -L"CrogrammeDev-C++lib" -B"CrogrammeDev-C++in" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors
"CrogrammeDev-C++ing++.exe" -o "Vorlage_Neu.exe" ".objPrfMain.o" ".objVorlage_Neu.o" ".esesource.o" ".libplibbase.lib" ".libplibstr.lib" ".libplibwin.lib" ".libplibfile.lib" ".libplibgdi.lib" ".libplibsql.lib" -luuid "CrogrammeDev-C++liblibglu32.a" "CrogrammeDev-C++liblibopengl32.a" "CrogrammeDev-C++liblibole32.a" "CrogrammeDev-C++liblibolepro32.a" "CrogrammeDev-C++liblibodbc32.a" "CrogrammeDev-C++liblibwsock32.a" "CrogrammeDev-C++liblibcomctl32.a" "CrogrammeDev-C++liblibwinmm.a" -I"CrogrammeDev-C++include" -I"CrogrammeDev-C++includeg++" -L"CrogrammeDev-C++lib" -B"CrogrammeDev-C++in" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors
Finished.
Proc SaveAccess

    Faible ItemText#,3584
    Faible grenier#,3584
    Claire ItemText#
    Claire grenier#
    FileName$ = SaveFile$("Speichern unter","Microsoft Access-banque de données (*.mdb) | *.mdb")

    Si FileName$ <> »

        CreateAccess FileName$
        AccessDB& = SQLInit("DSN=Microsoft Access-Datenbank;DBQ="+FileName$)
        Set("SQLDBC",AccessDB&)
        Set("SQLNULL",»)
        Set("SQLFile",$ Substr(FileName$, -1, ".") + ".DAT")
        SQLString$ = "CREATE TABLE Projektdaten ([projet-Nr] TEXT, [Bezeichnung 1] TEXT, [Bezeichnung 2] TEXT, "
        SQLString$ = SQLString$ + "[Schneidplantyp] TEXT, [Gewicht 1] TEXT, [Gewicht 2] TEXT, [Block Gewicht] TEXT, "
        SQLString$ = SQLString$ + "[Block Longueur] TEXT, "[Block Breite] TEXT, [Block Hauteur] TEXT, [partage Longueur] TEXT, "
        SQLString$ = SQLString$ + "[partage Breite] TEXT, [partage Hauteur] TEXT, [Schneidbreite Longueur] TEXT, "
        SQLString$ = SQLString$ + "[Schneidbreite Breite] TEXT, [Schneidbreite Hauteur] TEXT)"
        SQLExec SQLString$,2
        ProjektNr$       = GetText $(Éditer1&)
        Bezeichnung_1$   = GetText $(Éditer2&)
        Bezeichnung_2$   = GetText $(Éditer3&)
        Schneidplantyp$  = GetText $(ChoiceBox1&)
        Such_Gewicht_1$  = GetText $(Éditer4&)
        Such_Gewicht_2$  = GetText $(Éditer5&)
        Block_Gewicht$   = GetText $(Éditer6&)
        Block_Laenge$    = GetText $(Éditer7&)
        Block_Breite$    = GetText $(Éditer8&)
        Block_Hoehe$     = GetText $(Éditer9&)
        Teilung_Laenge$  = GetText $(SpinEdit1&)
        Teilung_Breite$  = GetText $(SpinEdit2&)
        Teilung_Hoehe$   = GetText $(SpinEdit3&)
        Schnitt_Laenge$  = GetText $(Éditer10&)
        Schnitt_Breite$  = GetText $(Éditer11&)
        Schnitt_Hoehe$   = GetText $(Éditer12&)
        SQLString$ = "INSERT INTO Projektdaten VALUES (:ProjektNr$,:Bezeichnung_1$,:Bezeichnung_2$,:Schneidplantyp$,"
        SQLString$ = SQLString$ + ":Such_Gewicht_1$,:Such_Gewicht_2$,:Block_Gewicht$,:Block_Laenge$,:Block_Breite$,"
        SQLString$ = SQLString$ + ":Block_Hoehe$,:Teilung_Laenge$)"
        SQLExec SQLString$,2

        Si non GetLines(ListView1&) = 0

            Si GetText $(ChoiceBox1&) = "Standard"

                SQLString$ = "CREATE TABLE Schneidpläne ([Lfd-Nr] TEXT, [mesure aus Longueur] TEXT, [mesure aus Breite] TEXT, "
                SQLString$ = SQLString$ + "[mesure aus Hauteur] TEXT, partage Longueur] TEXT, [partage Breite] TEXT, "
                SQLString$ = SQLString$ + "[partage Hauteur] TEXT, [Produktanzahl] TEXT, [Ausbeute] TEXT, [Produktgewicht] TEXT)"
                SQLExec SQLString$,2
                Claire Zeile&

                Repeat

                    Claire ItemText#
                    Claire grenier#
                    GetLineText(ListView1&,Zeile&,ItemText#)
                    GetTabOffsets(ItemText#,grenier#)
                    Zähler$           = String$(ItemText#,Long(grenier#,0))
                    Portions_Laenge$  = String$(ItemText#,Long(grenier#,4))
                    Portions_Breite$  = String$(ItemText#,Long(grenier#,8))
                    Portions_Hoehe$   = String$(ItemText#,Long(grenier#,12))
                    Teilung_Laenge$   = String$(ItemText#,Long(grenier#,16))
                    Teilung_Breite$   = String$(ItemText#,Long(grenier#,20))
                    Teilung_Hoehe$    = String$(ItemText#,Long(grenier#,24))
                    Block_Portionen$  = String$(ItemText#,Long(grenier#,28))
                    Block_Ausbeute$   = String$(ItemText#,Long(grenier#,32))
                    Portions_Gewicht$ = String$(ItemText#,Long(grenier#,36))
                    SQLString$ = "INSERT INTO Schneidpläne VALUES (:Zähler$,:Portions_Laenge$,:Portions_Breite$,:Portions_Hoehe$,"
                    SQLString$ = SQLString$ + ":Teilung_Laenge$,:Teilung_Breite$,:Teilung_Hoehe$,:Block_Portionen$,:Block_Ausbeute$,"
                    SQLString$ = SQLString$ + ":Portions_Gewicht$)"
                    SQLExec SQLString$,2
                    Inc Zeile&

                Until Zeile& = GetLines(ListView1&)

            ElseIf GetText $(ChoiceBox1&) = "Offset"

                SQLString$ = "CREATE TABLE Schneidpläne ([Lfd-Nr] TEXT, [mesure aus Longueur] TEXT, [mesure aus Breite] TEXT, "
                SQLString$ = SQLString$ + "[mesure aus Longueur] TEXT, [mesure aus Breite] TEXT, [mesure aus Hauteur] TEXT, "
                SQLString$ = SQLString$ + "[partage Longueur 1] TEXT, [partage Longueur 2] TEXT, [partage Breite] TEXT, "
                SQLString$ = SQLString$ + "[partage Hauteur] TEXT, [Produktanzahl] TEXT, [Ausbeute] TEXT, "
                SQLString$ = SQLString$ + "[Produktgewicht 1] TEXT, [Produktgewicht 2] TEXT)"
                SQLExec SQLString$,2
                Claire Zeile&

                Repeat

                    Claire ItemText#
                    Claire grenier#
                    GetLineText(ListView1&,Zeile&,ItemText#)
                    GetTabOffsets(ItemText#,grenier#)
                    Zähler$                  = String$(ItemText#,Long(grenier#,0))
                    Portions_Laenge$         = String$(ItemText#,Long(grenier#,4))
                    Riegel_Breite_1$         = String$(ItemText#,Long(grenier#,8))
                    Portions_Laenge_2$       = String$(ItemText#,Long(grenier#,12))
                    Riegel_Breite_2$         = String$(ItemText#,Long(grenier#,16))
                    Portions_Hoehe$          = String$(ItemText#,Long(grenier#,20))
                    Schnitt_Anzahl_Laenge$   = String$(ItemText#,Long(grenier#,24))
                    Schnitt_Anzahl_Laenge_2$ = String$(ItemText#,Long(grenier#,28))
                    Schnitt_Anzahl_Breite$   = String$(ItemText#,Long(grenier#,32))
                    Schnitt_Anzahl_Hoehe$    = String$(ItemText#,Long(grenier#,36))
                    Block_Portionen_1$       = String$(ItemText#,Long(grenier#,40))
                    Block_Ausbeute_1$        = String$(ItemText#,Long(grenier#,44))
                    Portions_Gewicht_1$      = String$(ItemText#,Long(grenier#,48))
                    Portions_Gewicht_2$      = String$(ItemText#,Long(grenier#,52))
                    SQLString$ = "INSERT INTO Schneidpläne VALUES (:Zähler$,:Portions_Laenge$,:Riegel_Breite_1$,"
                    SQLString$ = SQLString$ + ":Portions_Laenge_2$,:Riegel_Breite_2$,:Portions_Hoehe$,"
                    SQLString$ = SQLString$ + ":Schnitt_Anzahl_Laenge$,:Schnitt_Anzahl_Laenge_2$,:Schnitt_Anzahl_Breite$,"
                    SQLString$ = SQLString$ + ":Schnitt_Anzahl_Laenge_2$,:Schnitt_Anzahl_Breite$,:Schnitt_Anzahl_Hoehe$,"
                    SQLString$ = SQLString$ + ":Block_Portionen_1$,:Block_Ausbeute_1$,:Portions_Gewicht_1$,:Portions_Gewicht_2$)"
                    SQLExec SQLString$,2
                    Inc Zeile&

                Until Zeile& = GetLines(ListView1&)

            EndIf

        EndIf

        SQLDone

    EndIf

    Dispose ItemText#
    Dispose grenier#

ENDPROC

 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
29.10.2008  
 




Sebastian
König
allô Detlef,

je werde la fois nachsehen, quoi là schiefläuft. malheureusement ist es avec dem Ausschnitt seul très schwer, quelque chose konkretes trop dire... peux Du mir (per eMail ou bien PM) peut-être. une komplett lauffähigen Code zum Testen envoyons?

merci,

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




Detlef
Jagolski
allô Sebastian,
den faute habe je soweit eingrenzen peut, dass qui faute ici liegen muss:
FileName$ = SaveFile$("Speichern unter","Microsoft Access-banque de données (*.mdb) | *.mdb")
si je es sans Subclassing fais ca va, si je SaveFile$... aus qui Sous-classe Procédure Starte, stürzt cela Programme ab.

Salut

Detlef
Def &WM_GETMINMAXINFO  36
Def &WM_RBUTTONDOWN  516
Déclarer MinMaxInfo#

SubClassProc

    Si SubClassMessage(%hwnd, &WM_GETMINMAXINFO)

        Fenstergrösse einschränken
        Faible MinMaxInfo#,40
        MinMaxInfo# = &sLParam
        Long MinMaxInfo#,24 = 871
        Long MinMaxInfo#,28 = 563
        Long MinMaxInfo#,32 = %MaxX
        Long MinMaxInfo#,36 = %MaxY
        Dispose MinMaxInfo#
        Set("WinProc",0)

    ElseIf SubClassMessage(%hwnd, &WM_RBUTTONDOWN)

        Test
        Set("WinProc", 0)

    EndIf

ENDPROC

Proc Test

    FileName$ = SaveFile$("Speichern unter","Microsoft Access-banque de données (*.mdb) | *.mdb")

ENDPROC

Déclarer appexit%, FileName$
Titre de la fenêtre "DesignForm"
Fenêtre %maxx + 5,0 - 871,563
cls
Set("SubClassMode",1)
SubClass %hwnd,1
SetWindowPos %hwnd = 0,0 - 871,563;0
Test

WhileNot appexit%

    WaitInput

    Si %clé = 2

        appexit%=1

    ElseIf %clé = 4

        Fenstergröße

    ElseIf %clé = 5

        Aider

    EndIf

 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
30.10.2008  
 




Sebastian
König
allô Detlef,

sorry, dass je mich maintenant seulement wieder melde. malheureusement suis je gestern pas en supplément gekommen, mich avec qui l'affaire trop beschäftigen.

merci sur jeden le cas pour den Code - je peux den faute avec cela nachvollziehen. Spontan suis je allerdings pas so sûrement, si je là quelque chose faire peux. Solche Aufrufe de Dialogen aus qui SubClassProc heraus sommes allgemein pas empfehlenswert - aussi dans XProfan selbst pas (möglicherweise ist es seulement Zufall, dass qui Code avec cela funktioniert). qui dans qui XProfan-Aider empfohlene Weg ist qui Verwendung de SetMenuItem et somit qui Verlagerung qui réel Aktion dans qui Progamm-Hauptschleife.

je werde quand même la fois gucken, si je es peut-être. so comme ist zum courir apporter peux.

MfG

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



GetOpenFileName  [...]  dedans qui SubClassProc peux imho nie longtemps bien aller, denkt on alleine à hwndOwner qui "OPENFILENAME Structure".
 
01.11.2008  
 




Detlef
Jagolski
allô Sebastian,

ne...aucune Problem, Votre Ausbildung et Dein privat vivre aller avant. Habe inzwischen es aussi avec SetMenuItem gelöst.

merci et Salut

Detlef
 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
01.11.2008  
 




Sebastian
König
allô Detlef,

merci pour Dein Verständnis . j'ai inzwischen une concept, quoi je peut-être. changement pourrait um den original Code zum courir trop apporter et werde cela la fois ausprobieren. qui Solution pour avec SetMenuItem halte je allerdings dans chaque le cas pour besser et sicherer...

MfG

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



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.235 Views

Untitledvor 0 min.
RICOSCH05.11.2014
XpKurt18.02.2014
macuto11.06.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie