Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

DCBROWSE und leeres Array

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16943
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

DCBROWSE und leeres Array

Beitrag von Manfred » Di, 29. Nov 2016 10:28

Ich stosse gerade auf ein merkwürdiges Problem. Kann es sein, das man kein leeres Array browsen kann?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16943
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCBROWSE und leeres Array

Beitrag von Manfred » Di, 29. Nov 2016 10:37

sorry, muß es korrigieren. Ein leeres Array ist es nicht, ich habe es in dem Fall statt mit Werten, mit {"","",""} gefüllt. Also eigentlich eine leere Zeile. Das war mein erster Versuch das Problem anzugehen.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 6802
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: DCBROWSE und leeres Array

Beitrag von Tom » Di, 29. Nov 2016 10:53

Das Problem liegt an der Funktion "DC_GetColArray()". Die antwortet bei leeren Arrays immer mit Strings, wodurch es zu Datentypenfehlern kommt. Ich hatte schon vor einer Weile angeregt, dass man ihr Defaults (andere Datentypen) übergeben können sollte, aber bis Roger das macht, muss man selbst agieren:

Code: Alles auswählen

DCBROWSECOL DATA {||IF(Len(aArray)=0,'-',DC_GetColArray(1,oBrowse))} ...
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16943
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCBROWSE und leeres Array

Beitrag von Manfred » Di, 29. Nov 2016 11:44

Hi Tom,
mag sein dass ich mich etwas blöde anstelle, aber es klappt nicht.
Das DATA mußte gegen DATALINK getauscht werden, weil es sonst mit dem Codeblock einen Fehler gab beim cmpilieren, aber so

Code: Alles auswählen

@ 15,5 DCBROWSE oDialogZusatz:oBrowseVerein;
                    COLOR {|| CursorFarbe("array",oDialogZusatz,Dc_getColArray(0,oDialogZusatz:oBrowseVerein))};
               CURSORMODE XBPBRW_CURSOR_ROW;
                     DATALINK {||IF(Len(oDialogZusatz:aVerein)=0,"-",DC_GetColArray(1,oDialogZusatz:oBrowseVerein))};
                NOHSCROLL;
              NOSOFTTRACK;
                   PARENT oDialogZusatz:oRahmenBrowseVerein;
                     SIZE DCGUI_PARENTWIDTH-10,DCGUI_PARENTHEIGHT - oDialogZusatz:nPbHoehe

          DCBROWSECOL ELEMENT VEREIN_BEZ;
                       HEADER "Bezeichnung" HCOLOR GRA_CLR_BLACK,GRA_CLR_GREEN;
                       PARENT oDialogZusatz:oBrowseVerein;
                        WIDTH 200
          DCBROWSECOL ELEMENT VEREIN_ART;
                       HEADER "Art" HCOLOR GRA_CLR_BLACK,GRA_CLR_GREEN;
                       PARENT oDialogZusatz:oBrowseVerein;
                        WIDTH 30
gibt es die Fehlermeldung
DC-ReadGui() error! Browse has no data source
was mache ich falsch?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2288
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCBROWSE und leeres Array

Beitrag von Wolfgang Ciriack » Di, 29. Nov 2016 11:55

Gib mal als leeres Array {{"","",""}} an.
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16943
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCBROWSE und leeres Array

Beitrag von Manfred » Di, 29. Nov 2016 11:57

Hi Wolfgang,
da bin ich gerade bei. Das war sicherlich ein blöder Fehler, aber es klappt immer noch nicht richtig. Den Grund dafür suche ich aber noch.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2288
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCBROWSE und leeres Array

Beitrag von Wolfgang Ciriack » Di, 29. Nov 2016 12:00

Ich sorge eigentlich schon beim Erstellen des Arrays dafür, dass es nicht leer ist, indem ich notfalls ein entsprechendes Leerelement einfüge.
Viele Grüße
Wolfgang

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 6802
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: DCBROWSE und leeres Array

Beitrag von Tom » Di, 29. Nov 2016 12:34

Ich habe die DATA-Klausel von DCBROWSECOL gemeint, nicht die von DCBROWSE. Letztere gibt das zu browsende Array an, erstere ist der Codeblock für die Spaltendaten.
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16943
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCBROWSE und leeres Array

Beitrag von Manfred » Di, 29. Nov 2016 12:57

@Wolfgang,
da ich im Moment den vielen Ratschlägen folge mehr mit Arrays zu machen, stoße ich hier und da auf ein paar Dinge, die ich so bisher nicht wußte. Deshalb mußte ich das auch lernen.
@Tom,
Danke, das habe ich so nicht erkannt (Wald, Bäume usw.). Werde es mal versuchen.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Antworten