C ++ Forum | | | |  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 "C rogrammeDev-C++ing++.exe" -c PrfMain.cpp -o .objPrfMain.o -I"C rogrammeDev-C++include" -I"C rogrammeDev-C++includeg++" -L"C rogrammeDev-C++lib" -B"C rogrammeDev-C++in" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors "C rogrammeDev-C++ing++.exe" -c Vorlage_Neu.cpp -o .objVorlage_Neu.o -I"C rogrammeDev-C++include" -I"C rogrammeDev-C++includeg++" -L"C rogrammeDev-C++lib" -B"C rogrammeDev-C++in" -fexceptions -s -mwindows -w -O2 -fvtable-thunks -fno-elide-constructors "C rogrammeDev-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 "C rogrammeDev-C++liblibglu32.a" "C rogrammeDev-C++liblibopengl32.a" "C rogrammeDev-C++liblibole32.a" "C rogrammeDev-C++liblibolepro32.a" "C rogrammeDev-C++liblibodbc32.a" "C rogrammeDev-C++liblibwsock32.a" "C rogrammeDev-C++liblibcomctl32.a" "C rogrammeDev-C++liblibwinmm.a" -I"C rogrammeDev-C++include" -I"C rogrammeDev-C++includeg++" -L"C rogrammeDev-C++lib" -B"C rogrammeDev-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 |
| | | | |
| |  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 |
| | | | |
| |  | GetOpenFileName [...] dedans qui SubClassProc peux imho nie longtemps bien aller, denkt on alleine à hwndOwner qui "OPENFILENAME Structure".  |
| | | | |
| |  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 |
| | | | |
|
répondreOptions du sujet | 4.235 Views |
Themeninformationencet Thema hat 3 participant: |