Problem mit Quickbrowse datalink

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Problem mit Quickbrowse datalink

Beitrag von Benz »

Hi, Ich bekommen den Fehler im Anhang.

Ich hab das ganze schon ein paar mal benutzt und es hat immer funktioniert, ich habe den Code kopiert und auf das jetzige Fenster angepasst, doch leider scheint es so, also würde das Quickbrowse jetzt nicht funktionieren, warum auch immer.

Das ist mein code:

Code: Alles auswählen

#include "Common.ch"
#include "Font.ch"
#include "Gra.ch"
#include "Xbp.ch"
#include "AppEdit.ch"
#include "AppBrow.ch"
#include "Appevent.ch"

#include "ace.ch"

#include "tbxWP.ch"
#pragma library("tbxWP.LIB")
#pragma library("tbxBC.LIB")

#pragma Library( "XppUI2.LIB" )
#pragma Library( "XppUi2.lib" )

#pragma Library("AppClass.lib")                 // for use the tbxClasses
#pragma Library("AceServer.Lib")                // for use data access
#pragma Library("XppUi3.Lib")                   // for use new XbParts and alignment
#pragma Library("XbpPack.Lib")
#pragma Library("tbxExtCtrl.Lib")
#pragma Library("XppUI2.Lib")
#pragma Library("cjx.Lib")
#pragma Library("ADAC20B.LIB")

#include "quickbrowse.prg"

PROCEDURE Main

   LOCAL nEvent, oXbp, mp1, mp2
   LOCAL oDlg_anrufe

   oDlg_anrufe := anrufe():new()
   oDlg_anrufe:title:= "title"

   oDlg_anrufe:minSize := {590,409}
   oDlg_anrufe:maxSize := {590,409}

   oDlg_anrufe:Create()

   proc_anrufe( oDlg_anrufe)

   nEvent := xbe_None
   WHILE nEvent != xbeP_Close
      nEvent := AppEvent ( @mp1, @mp2, @oXbp )
      oXbp:HandleEvent ( nEvent, mp1, mp2 )
      IF nEvent == xbeP_Quit
         QUIT   // AppQuit()
      ENDIF
   ENDDO

RETURN
Hier wird einfach nur ein leeres fenster aufgeraufen, welches die Größe {1647,910} hat.

die Procedure proc_anrufe(oDlg_anrufe) hat folgenden Inhalt:

Code: Alles auswählen

PROCEDURE proc_anrufe( oDlg_anrufe ;
                      )


LOCAL oBrowse_Auftragsliste
LOCAL aHeader
LOCAL browse_pos[2]
LOCAL browse_size[2]
LOCAL aInhaltBrowse


       aHeader := { ;
          "Nummer", ;
          "kundennr", ;
          "Anrufer", ;
          "Telefonnummer", ;
          "E-mail", ;
          "Rückrufzeitraum von:", ;
          "Rückrufzeitraum bis:", ;
          "Problem", ;
          "Gesprächsinhalt", ;
          "Anrufart", ;
          "Erstellt", ;
          "Geändert", ;
          }
       msgbox("1")

       browse_pos[1] := 0
       browse_pos[2] := 0
       browse_size[1] := 1228
       browse_size[2] := 500

       msgbox("2")
       oBrowse_Auftragsliste := XbpQuickBrowse():new(oDlg_anrufe:drawingArea,,browse_pos, browse_size,{ { XBP_PP_COMPOUNDNAME, "12.Arial" } })
       msgbox("1s2")
*       oBrowse_Auftragsliste:dataLink := DacPagedDataStore():new()
       oBrowse_Auftragsliste:dataLink := DacPagedDataStore():new()
       msgbox("2.1")
       oBrowse_Auftragsliste:create()
       msgbox("3")
       oBrowse_Auftragsliste:setColWidth(150,1)
       oBrowse_Auftragsliste:setColWidth(150,2)
       oBrowse_Auftragsliste:setColWidth(150,3)
       oBrowse_Auftragsliste:setColWidth(150,4)
       oBrowse_Auftragsliste:setColWidth(150,5)
       oBrowse_Auftragsliste:setColWidth(150,6)
       oBrowse_Auftragsliste:setColWidth(150,7)
       oBrowse_Auftragsliste:setColWidth(150,8)
       oBrowse_Auftragsliste:setColWidth(150,9)
       oBrowse_Auftragsliste:setColWidth(150,10)
       oBrowse_Auftragsliste:setColWidth(150,11)
       oBrowse_Auftragsliste:setColWidth(150,12)
                             msgbox("12")
       oBrowse_Auftragsliste:setHeader(aHeader)

       //...................

        msgbox("4")
        IF empty(aInhaltBrowse)

          AADD(aInhaltBrowse,{ ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "", ;
            "" ;
            })
           msgbox("5")
         ENDIF

         oBrowse_Auftragsliste:setdataLink(DacPagedDataStore():new(aInhaltBrowse))

RETURN
Nach dem Aufruf von msgbox("1s2") erscheint der Fehler, das heißt es muss an ":datalink" liegen, aber wieso?
Dateianhänge
Fehler.png
Fehler.png (200.01 KiB) 3488 mal betrachtet
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Problem mit Quickbrowse datalink

Beitrag von brandelh »

so eine Meldung habe ich noch nie erhalten, ich nutze aber meist auch Arrays zur Anzeige.
Bei mir wird erst create() danach datalink angesprochen:

Code: Alles auswählen

::gbEinkommensListe:create()
::qbEinkommensListe:datalink     := DacPagedDataStore():new( ::aEinkommen, { SubArray_EK_Text,;
                                                                                SubArray_EK_Von,;
                                                                                SubArray_EK_Bis,;
                                                                                SubArray_EK_BetragVorjahr,;
                                                                                SubArray_EK_BetragAktuell } )
ob das aber nötig ist kann ich jetzt nicht sagen.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Problem mit Quickbrowse datalink

Beitrag von AUGE_OHR »

Benz hat geschrieben:Hi, Ich bekommen den Fehler im Anhang.

Code: Alles auswählen

...
   oBrowse_Auftragsliste := XbpQuickBrowse():new(oDlg_anrufe:drawingArea,,browse_pos,browse_size,{{XBP_PP_COMPOUNDNAME, "12.Arial"}})
msgbox("1s2")
   oBrowse_Auftragsliste:dataLink := DacPagedDataStore():new()
Nach dem Aufruf von msgbox("1s2") erscheint der Fehler, das heißt es muss an ":datalink" liegen, aber wieso?
IMHO muss das Array gefüllt sein bevor du den o:Datalink aufrufst.

Code: Alles auswählen

   oBrowse:dataLink := DacPagedDataStore():new( aArray, aColumns)
gruss by OHR
Jimmy
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Re: Problem mit Quickbrowse datalink

Beitrag von Benz »

hm ok, es scheint zu funktionieren, danke
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Problem mit Quickbrowse datalink

Beitrag von brandelh »

AUGE_OHR hat geschrieben:IMHO muss das Array gefüllt sein bevor du den o:Datalink aufrufst.

Code: Alles auswählen

   oBrowse:dataLink := DacPagedDataStore():new( aArray, aColumns)
klar und danach darf das Array nicht neu zugewiesen werden, sonst ist die Verbindung neu an den datalink zu übergeben.
Gruß
Hubert
Antworten