XbpBrowse [Erledigt]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

XbpBrowse [Erledigt]

Beitrag von Jan »

Weiß jemand, was in 1.9SL1 in Zeile XBPBROWSE:FORCESTABLE(1205) passiert?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von UliTs »

Zeig mal den zugehörigen Code :-) .
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Jan »

? Den Code will ich ja gerade haben. Ich hab keine Professional, und damit auch nicht den Quellcode.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: XbpBrowse

Beitrag von brandelh »

ForceStable() ist eine Funktion, die versucht einen stabilen Zustand zu erzwingen.
Steht in der Hilfe (den Quellcode habe ich jetzt nicht zur Hand), also wird hier der angezeigte Browserbereich gelesen und angezeigt.
DATALINKS und die SKIP-Codeblöcke ...
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Tom »

Habe leider nur die Browse-Quellcodes der 1.9, und dort befindet sich in Zeile 1205 bereits die Methode "ReArrange". :cry:
Herzlich,
Tom
Benutzeravatar
Schubi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 139
Registriert: Mi, 05. Okt 2005 15:10
Wohnort: Wiesloch
Hat sich bedankt: 5 Mal

Re: XbpBrowse

Beitrag von Schubi »

Bei mir steht in Zeile 1205 ein Komentar: // set the scrollbar position
In Zeile 1206 macht er dann ::aRecNo[::RowPos] := Eval ( ::PhyPosBlock, self )
Weiss gerade nicht genau, welche Version das ist.
Vielleicht hilfts ja...
Grüße Steffen
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: XbpBrowse

Beitrag von brandelh »

Hi,

auf der CD erstellt aus dem IMAGE von 1.90 SL1 mit Namen: PROFVOL6SL1
gibt es das Verzeichnis \BROWSES
In der READB.ME steht:

Code: Alles auswählen

/*
 * This is the README for the browser source code 
 *
 * Release: 1.90.331
 * Date:    April 26th 2006
 *
 */

 __________
 1. Purpose

    This directory contains the source code for the following 
    classes:

      XbpBrowse
      XbpColumn
      XbpQuickbrowse

    Having the source code for the classes eases complex tasks
    like debugging/understanding your browser code. Some of the
    files contain additional utility functions which may be useful
    to be looked at.

 ________
 2. Files

    The project contains the following files:

      xbp_brw.prg    the XbpBrowse source code
      xbp_col.prg    the XbpColumn source code
      xbp_qbrw.prg   the XbpQuickbrowse source code
      xbp_bcvs.prg   helper routines used by XbpQuickbrowse
      xbp_util.prg   some additional routines used by both browsers
      xbp_brw.ch     the header file used by both browsers
also ist der Quellcode auf der SL1 CD nicht verändert worden ... =D>
Gruß
Hubert
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: XbpBrowse

Beitrag von Magic »

Hallo Jan,

auf die Gefahr hin, dass ich total an Deinem Anliegen / Problem (ist es überhaupt ein Problem?) vorbei schreibe ...

Ich kann mich noch schwach daran erinnern, dass ich vor nicht zu lange Zeit, ein Problem mir einem Browser hatte.
Ich bin mir ziemlich sicher (~99,99%) dass dabei genau die von Dir genannte Zeile "XBPBROWSE:FORCESTABLE(1205)" angemeckert wurde.
Und ich meine, es hat mich mindestens 2 - 3 Tage gekostet um den Fehler zu finden.
Dabei hat sich rausgestellt, dass die Fehlermeldung eigentlich einen anderen Ursprung hatte.
Die Daten meines Browsers kamen aus einem Array.
Dabei gab es einen besonderen Fall, in dem in einer Spalte Werte durcheinander kamen (numerische und Alphanumerische {"A", "B", 3, "D"} ).
Und ich glaube, genau an dieser Stelle stieg mein Programm aus, in der von Dir genanten Zeile.

Wie gesagt, falls es sich bei Dir überhaupt um ein Problem handelt, schau Dir mal vielleicht die Daten an.
Gruß,
Magic
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Jan »

Hallo Magic,

oops! Danke für den Hinweis. Denn ich browse hier auch ein Array. War aber der Meinung, das grundsätzlich alle aus einer csv eingelesenen Einträge character sind. Das werde ich mal überprüfen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: XbpBrowse

Beitrag von georg »

Hallo, Jan -


aus ganz aktueller Erfahrung, ähnliche Situation, ähnliches Problem: ich habe die Array-Grösse angepasst, indem bearbeitete Zeilen entfernt werden. Vorher wurde das Array in der Grösse nicht verändert. Allerdings gab es eine Stelle, an der mit der Array-Grösse bei Beginn gearbeitet wurde. Sobald das Array kleiner war als die Zahl darzustellender Zeilen, gab es einen Abbruch.

Das als weiteren Tipp.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Tom »

Noch ein Tipp: Bei mir führte die falsche Verwendung zellenorientierter ColorBlock-Slots mal zu einem ähnlichen Verhalten. Ich weiß aber nicht mehr, in welcher Quellcodezeile von XbpBrowse das zu einem Fehler führte.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Jan »

Hallo Tom,

nee, so überkandidelte Sachen mach ich garnicht ;-) Im Ernst: In diesem Fall ist das wirklich relativ simpel ohne große Umkonfigurierungen ein ganz normaler XbpBrowse. Ich werd heute Abend mal die Spaltenanzahl testen (die sollte aber stimmen), und die Feldtypen überprüfen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von UliTs »

Hallo Jan,

falls es bei Dir zu einer Fehlermeldung kommt, welche denn?

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Jan »

OK, es ist NICHT eine wechselnde Arraylänge, und es ist NICHT ein wechselnder Feldtyp.

Also weitersuchen ...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von UliTs »

UliTs hat geschrieben:Hallo Jan,
falls es bei Dir zu einer Fehlermeldung kommt, welche denn?
Uli
Und?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Jan »

Code: Alles auswählen

Xbase++ Version     : Xbase++ (R) Version 1.90.355
Betriebssystem      : Windows 7 06.01 Build 07601 Service Pack 1
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: A VALUE: {1, NIL, NIL, NIL, NIL, NIL, NIL, NIL, NIL}
          -> VALTYPE: N VALUE: 0
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: N
oError:cargo        : NIL
oError:description  : Fehler bei der Arrayindizierung
oError:filename     : 
oError:genCode      :          4
oError:operation    : <A of 9>[<0>]
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       1012
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von XBPBROWSE:FORCESTABLE(1205)
Aufgerufen von XBPBROWSE:HANDLEEVENT(1536)
Aufgerufen von XBPBROWSE:SHOW(3281)
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von UliTs »

Hallo Jan,

danke für die Antwort.
Meiner Meinung nach gibt es höchstens 2 Programmzeilen, bei denen diese Fehlermeldung vorkommen kann:

Code: Alles auswählen

::aRecNo[::nCurrentRow] := Eval ( ::PhyPosBlock, self )
oder

Code: Alles auswählen

::aRecNo[::RowPos] := Eval ( ::PhyPosBlock, self )
Netterweise wird in beiden der Codeblock ::PhyPosBlock ausgeführt :-) .
Prüf bitte mit Hilfe des Debuggers, welchen Wert ::RowPos bzw. ::nCurrentRow bei Ausführung des Codeblocks haben.
Wenn Du Dir unsicher bist, wie: dann rufe bitte die folgende Funktion innerhalb ::phyPosBlock auf:

Code: Alles auswählen

PROCEDURE FuersDebuggen( oXbpBrowse )
LOCAL X
  X := 1                 // Wenn der Debugger in dieser Zeile steht, kannst Du Dir die beiden Werte oXbpBrowse:RowPos bzw. oXbpBrowse:nCurrentRow anzeigen lassen
RETURN
Was kommt dann raus?

Uli

P.S. ::RowPos ist übrigens "EXPORTED", ::nCurrentRow jedoch "PROTECTED" -> Deshalb mit Debugger anschauen
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
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: XbpBrowse

Beitrag von brandelh »

Hi,

aus meiner Sicht kann es sich nur um den SKIP Block handeln. Eine DBF die schon am Anfang steht und dann eines nach oben scrollen soll, führt einen dbskip(-1) aus, bleibt aber auf dem ersten Satz, setzt BOF und das war es.
Wahrscheinlich hat dein SKIB Block keinen Schutz davor, dass du in der ersten Arrayzeile nicht auf den Index 0 schaltest

Arraygrenze nicht eingehalten, 0 !
Wäre es unten würde die Funktion versuchen len(array)+1 anzusteuern ;-)
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: XbpBrowse

Beitrag von Jan »

Hallo Leute,

Danke für all Eure Hinweise. Ich bin alles durchgegangen, hab alles Mögliche kontrolliert - daran lag es irgendwie nicht. Also hab ich noch einmal alles von Anfang an aufgebaut. Hab den Beispielcode aus der Onlinehilfe noch einmal rüberkopiert. Und nach und nach schrittweise meine Elemente eingebaut. Was soll ich sagen? Dieses mal hat es funktioniert.

Irgendwo muß mir da im ersten Durchgang irgendwas durchgegangen sein, was ich trotz dutzender Durchsehaktionen nicht bemerkt habe.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: XbpBrowse [Erledigt]

Beitrag von UliTs »

Hallo Jan,

schön, dass es jetzt funktioniert hat!
Aber unbefriedigend, dass man nicht weiss, warum ... :?
Vergleich doch mal einfach den vorherigen "falschen" Code mit dem neuen. Da müsste man doch schnell den Unterschied sehen :) .
Uli

P.S. Welcher der beiden Werte ( ::RowPos oder ::nCurrentRow) hatte denn den Wert 0?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Antworten