Español
C ++ Foro

Programa stürzt de

 

Detlef
Jagolski
¡Hola Sebastian,
si yo el Procedimiento SaveAccess aufrufe stürzt mein Programa de, kann’s Usted me una Tipp geben.
Bajo XProfan se ejecuta lo sin Problemas.
Getestet con Profano2cpp 2.0
Gracias en voraus.

Saludo
Detlef
Syntay-Check: Keine Fehler oder 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

    Dim ItemText#,3584
    Dim Speicher#,3584
    Claro ItemText#
    Claro Speicher#
    FileName$ = SaveFile$("Speichern unter","Microsoft Access-Datenbank (*.mdb) | *.mdb")

    If FileName$ <> ""

        CreateAccess FileName$
        AccessDB& = SQLInit("DSN=Microsoft Access-Datenbank;DBQ="+FileName$)
        Conjunto("SQLDBC",AccessDB&)
        Conjunto("SQLNULL","")
        Conjunto("SQLFile",Substr$(FileName$, -1, ".") + ".DAT")
        SQLString$ = "CREATE TABLE Projektdaten ([Projekt-Nr] TEXT, [Bezeichnung 1] TEXT, [Bezeichnung 2] TEXT, "
        SQLString$ = SQLString$ + "[Schneidplantyp] TEXT, [Gewicht 1] TEXT, [Gewicht 2] TEXT, [Block Gewicht] TEXT, "
        SQLString$ = SQLString$ + "[Block Longitud] TEXT, "[Block Breite] TEXT, [Block Höhe] TEXT, [Teilung Longitud] TEXT, "
        SQLString$ = SQLString$ + "[Teilung Breite] TEXT, [Teilung Höhe] TEXT, [Schneidbreite Longitud] TEXT, "
        SQLString$ = SQLString$ + "[Schneidbreite Breite] TEXT, [Schneidbreite Höhe] TEXT)"
        SQLExec SQLString$,2
        ProjektNr$       = GetText $(Editar1&)
        Bezeichnung_1$   = GetText $(Editar2&)
        Bezeichnung_2$   = GetText $(Editar3&)
        Schneidplantyp$  = GetText $(ChoiceBox1&)
        Such_Gewicht_1$  = GetText $(Editar4&)
        Such_Gewicht_2$  = GetText $(Editar5&)
        Block_Gewicht$   = GetText $(Editar6&)
        Block_Laenge$    = GetText $(Editar7&)
        Block_Breite$    = GetText $(Editar8&)
        Block_Hoehe$     = GetText $(Editar9&)
        Teilung_Laenge$  = GetText $(SpinEdit1&)
        Teilung_Breite$  = GetText $(SpinEdit2&)
        Teilung_Hoehe$   = GetText $(SpinEdit3&)
        Schnitt_Laenge$  = GetText $(Editar10&)
        Schnitt_Breite$  = GetText $(Editar11&)
        Schnitt_Hoehe$   = GetText $(Editar12&)
        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

        Caso negativo GetLines(ListView1&) = 0

            If GetText $(ChoiceBox1&) = "Standard"

                SQLString$ = "CREATE TABLE Schneidpläne ([Lfd-Nr] TEXT, [Maß de Longitud] TEXT, [Maß de Breite] TEXT, "
                SQLString$ = SQLString$ + "[Maß de Höhe] TEXT, Teilung Longitud] TEXT, [Teilung Breite] TEXT, "
                SQLString$ = SQLString$ + "[Teilung Höhe] TEXT, [Produktanzahl] TEXT, [Ausbeute] TEXT, [Produktgewicht] TEXT)"
                SQLExec SQLString$,2
                Claro Zeile&

                Repeat

                    Claro ItemText#
                    Claro Speicher#
                    GetLineText(ListView1&,Zeile&,ItemText#)
                    GetTabOffsets(ItemText#,Speicher#)
                    Zähler$           = String$(ItemText#,Largo(Speicher#,0))
                    Portions_Laenge$  = String$(ItemText#,Largo(Speicher#,4))
                    Portions_Breite$  = String$(ItemText#,Largo(Speicher#,8))
                    Portions_Hoehe$   = String$(ItemText#,Largo(Speicher#,12))
                    Teilung_Laenge$   = String$(ItemText#,Largo(Speicher#,16))
                    Teilung_Breite$   = String$(ItemText#,Largo(Speicher#,20))
                    Teilung_Hoehe$    = String$(ItemText#,Largo(Speicher#,24))
                    Block_Portionen$  = String$(ItemText#,Largo(Speicher#,28))
                    Block_Ausbeute$   = String$(ItemText#,Largo(Speicher#,32))
                    Portions_Gewicht$ = String$(ItemText#,Largo(Speicher#,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, [Maß de Longitud] TEXT, [Maß de Breite] TEXT, "
                SQLString$ = SQLString$ + "[Maß de Longitud] TEXT, [Maß de Breite] TEXT, [Maß de Höhe] TEXT, "
                SQLString$ = SQLString$ + "[Teilung Longitud 1] TEXT, [Teilung Longitud 2] TEXT, [Teilung Breite] TEXT, "
                SQLString$ = SQLString$ + "[Teilung Höhe] TEXT, [Produktanzahl] TEXT, [Ausbeute] TEXT, "
                SQLString$ = SQLString$ + "[Produktgewicht 1] TEXT, [Produktgewicht 2] TEXT)"
                SQLExec SQLString$,2
                Claro Zeile&

                Repeat

                    Claro ItemText#
                    Claro Speicher#
                    GetLineText(ListView1&,Zeile&,ItemText#)
                    GetTabOffsets(ItemText#,Speicher#)
                    Zähler$                  = String$(ItemText#,Largo(Speicher#,0))
                    Portions_Laenge$         = String$(ItemText#,Largo(Speicher#,4))
                    Riegel_Breite_1$         = String$(ItemText#,Largo(Speicher#,8))
                    Portions_Laenge_2$       = String$(ItemText#,Largo(Speicher#,12))
                    Riegel_Breite_2$         = String$(ItemText#,Largo(Speicher#,16))
                    Portions_Hoehe$          = String$(ItemText#,Largo(Speicher#,20))
                    Schnitt_Anzahl_Laenge$   = String$(ItemText#,Largo(Speicher#,24))
                    Schnitt_Anzahl_Laenge_2$ = String$(ItemText#,Largo(Speicher#,28))
                    Schnitt_Anzahl_Breite$   = String$(ItemText#,Largo(Speicher#,32))
                    Schnitt_Anzahl_Hoehe$    = String$(ItemText#,Largo(Speicher#,36))
                    Block_Portionen_1$       = String$(ItemText#,Largo(Speicher#,40))
                    Block_Ausbeute_1$        = String$(ItemText#,Largo(Speicher#,44))
                    Portions_Gewicht_1$      = String$(ItemText#,Largo(Speicher#,48))
                    Portions_Gewicht_2$      = String$(ItemText#,Largo(Speicher#,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

    Disponer ItemText#
    Disponer Speicher#

ENDPROC

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




Sebastian
König
¡Hola Detlef,

Yo voluntad veces nachsehen, qué como schiefläuft. Leider es con el Ausschnitt allein muy schwer, algo konkretes a sagen... ¿Puede Usted me (por eMail oder PM) evtl. una komplett lauffähigen Code para Testen enviar?

Gracias,

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




Detlef
Jagolski
¡Hola Sebastian,
el Fehler Yo soweit eingrenzen puede, dass el Fehler hier mentira muss:
FileName$ = SaveFile$("Speichern unter","Microsoft Access-Datenbank (*.mdb) | *.mdb")
Wenn Yo sin Subclassing mache es, si yo SaveFile$... de el Subclass Procedimiento Starte, stürzt el Programa de.

Saludo

Detlef
Def &WM_GETMINMAXINFO  36
Def &WM_RBUTTONDOWN  516
Declarar MinMaxInfo#

SubClassProc

    If SubClassMessage(%hwnd, &WM_GETMINMAXINFO)

        Fenstergrösse einschränken
        Dim MinMaxInfo#,40
        MinMaxInfo# = &sLParam
        Largo MinMaxInfo#,24 = 871
        Largo MinMaxInfo#,28 = 563
        Largo MinMaxInfo#,32 = %MaxX
        Largo MinMaxInfo#,36 = %MaxY
        Disponer MinMaxInfo#
        Conjunto("WinProc",0)

    ElseIf SubClassMessage(%hwnd, &WM_RBUTTONDOWN)

        Test
        Conjunto("WinProc", 0)

    EndIf

ENDPROC

Proc Test

    FileName$ = SaveFile$("Speichern unter","Microsoft Access-Datenbank (*.mdb) | *.mdb")

ENDPROC

Declarar appexit%, FileName$
Título de la ventana "DesignForm"
Ventana %maxX + 5,0 - 871,563
cls
Conjunto("SubClassMode",1)
SubClass %hwnd,1
SetWindowPos %hwnd = 0,0 - 871,563;0
Test

Sinestar encargado appexit%

    WaitInput

    If %key = 2

        appexit%=1

    ElseIf %key = 4

        Fenstergröße

    ElseIf %key = 5

        Ayuda

    EndIf

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




Sebastian
König
¡Hola Detlef,

sorry, dass Yo mich ahora sólo otra vez melde. Leider bin Yo gestern no dazu gekommen, mich con el Sache a beschäftigen.

Gracias en cada Fall para el código - Yo kann el Fehler así nachvollziehen. Spontan bin Yo allerdings no así sicher, si Yo como algo hacer kann. Solche Aufrufe de Dialogen de el SubClassProc heraus son allgemein no empfehlenswert - auch en XProfan incluso no (möglicherweise es sólo Zufall, dass el Code así funktioniert). Der en el XProfan-Ayuda empfohlene Weg Es el Verwendung de SetMenuItem y somit el Verlagerung el real Aktion en el Progamm-Hauptschleife.

Yo voluntad trotzdem veces gucken, si Yo evtl. ya que es para Laufen bringen kann.

MfG

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



GetOpenFileName  [...]  innerhalb el SubClassProc kann imho nie largo bien ir, denkt uno alleine a hwndOwner el "OPENFILENAME Structure".
 
01.11.2008  
 




Detlef
Jagolski
¡Hola Sebastian,

kein Problema, Su Ausbildung y Su privat Leben ir antes. Posesiones inzwischen lo auch con SetMenuItem gelöst.

Gracias y Saludo

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




Sebastian
König
¡Hola Detlef,

danke para Su Verständnis . Yo habe inzwischen una Concepto, Yo evtl. ändern podría en el ursprünglichen Code para Laufen a bringen y voluntad el veces ausprobieren. El Solución con SetMenuItem halte Yo allerdings en cada Fall para mejor y sicherer...

MfG

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



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.887 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie