Browses

Hier können die Unterschiede, Fehler und Probleme zwischen den Versionen bzw. bei der Migration besprochen werden

Moderator: Moderatoren

Browses

Beitragvon Wolfgang Ciriack » Fr, 29. Aug 2014 17:16

Größtes Problem sehe ich zur Zeit bei Browses. Die Presentationparameter bezüglich Zellen/Zeilenhöhe scheinen überhaupt keine Auswirkung mehr zu haben, dafür wirken sie auf den Header falsch/oder anders.
Auch das der Satzpointer nicht mehr mit dem hilited Satz synchron ist ist ein Showstopper.
Ich benutze zwar eXPress++, aber vielleicht hat ja schon jemand ohne eXpress ähnliches festgestellt ?
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2205
Registriert: Sa, 24. Sep 2005 8:37
Wohnort: Berlin

Re: Browses

Beitragvon Fischkopp » Fr, 29. Aug 2014 17:30

Hallo, Wolfgang
Auch das der Satzpointer nicht mehr mit dem hilited Satz synchron ist ist ein Showstopper.

das kann ich so bestätigen, der gleiche Code unter 1.9 funktioniert :(

Mal sehen, wann da was wie kommt im September
Grüße aus Berlin

Reiner
Benutzeravatar
Fischkopp
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 57
Registriert: Sa, 19. Jul 2014 9:31
Wohnort: Berlin

Re: Browses

Beitragvon Jan » Fr, 29. Aug 2014 19:50

Hallo Wolfgang,

mit den Browses hatte ich in früheren CTP-Versionen große Probleme. Aber inzwischen geht das eigentlich.

Das mit dem Hilite ist richtig. Es soll aber in der Final einen Schalter geben mit dem man das auf ursprünglichers Verhalten umstellen kann. Warum Alaska hier mit alten Vorgehensweisen bricht ist mir allerdings unverständlich.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11449
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Browses

Beitragvon Werner_Bayern » Sa, 30. Aug 2014 19:40

Den Schalter gibt es längst:
Code: Alles auswählen
navigationMode


wichtig auch
Code: Alles auswählen
rowPhyPos
es grüßt euch

Werner
Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
 
Beiträge: 1207
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Browses

Beitragvon Wolfgang Ciriack » So, 31. Aug 2014 7:07

Hallo Werner,
danke für den Hinweis.

@Jan,
funktioniert bei dir denn z.B. das Scrollen mit dem Mausrad richtig ?
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2205
Registriert: Sa, 24. Sep 2005 8:37
Wohnort: Berlin

Re: Browses

Beitragvon Jan » Mo, 01. Sep 2014 8:04

Hallo Wolfgang,

das muß ich mal ausprobieren. Ich weiß aber, das Till da was dran geschraubt hat. Weder unter 1.9 noch unter 2.0 klappt nämlich das Scrollen auf manchen Touchpads. Ab CTP4R3 oder R4 lief das aber dann.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11449
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Browses

Beitragvon Wolfgang Ciriack » Mo, 01. Sep 2014 8:32

Danke Jan,
ist immer ein wenig problematisch zu sagen, das funktioniert nicht, wenn eXpress dazwischen hängt.
Na dann probieren wir mal noch ein bischen rum und warten wir mal ab, was die final 2.0 bringt #-o
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2205
Registriert: Sa, 24. Sep 2005 8:37
Wohnort: Berlin

Re: Browses

Beitragvon Werner_Bayern » So, 02. Nov 2014 22:00

Wolfgang Ciriack hat geschrieben:@Jan,
funktioniert bei dir denn z.B. das Scrollen mit dem Mausrad richtig ?

Geht bei mir immer noch nicht (556) :(
es grüßt euch

Werner
Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
 
Beiträge: 1207
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Browses

Beitragvon Jan » Mo, 03. Nov 2014 7:13

Ich bin noch in heftigen Diskussionen mit Till, weil manche PP nicht oder zumindest anders als unter 1.9 fuktionieren. Das mit den Zeilenhöhen habe ich inzwischen hinbekommen. Aber die Zeilenfarben und die Gitterlinien bekomme ich immer noch nicht hin.

Da muß Alaska noch so einiges nacharbeiten ...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11449
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Browses

Beitragvon UliTs » Mo, 03. Nov 2014 10:19

Wenn die PPs fehlerfrei umgesetzt würden, wäre ich sehr dafür, dass dann auf Rückwärtskompatibilität verzichtet würde. Fehler braucht man schließlich nicht erhalten :D .

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2345
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen

Re: Browses

Beitragvon Jan » Mo, 03. Nov 2014 10:29

Hallo Uli,

da stimme ich Dir zu. Aber im Moment funktionieren die PP in 2.0 entweder garnicht oder falsch. Wenn das korrigiert wird, und in dem Zug gleich die alten Fehler mit behoben werden, wäre ich durchaus zufrieden.

Mal schauen, was Till da noch drehen kann.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11449
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Browses

Beitragvon Tom » Mo, 03. Nov 2014 10:38

Wenn das korrigiert wird, und in dem Zug gleich die alten Fehler mit behoben werden, wäre ich durchaus zufrieden.


Die Frage ist, ob das geht. Man musste bis einschließlich in Version 1.9 SL1 die Präsentationsparameter reichlich verbiegen, um etwas hinzubekommen, das eigentlich anders/leichter gehen sollte - ich denke da an Browses ganz ohne Zellen-/Zeilenränder. Dafür musste man XBP_PP_COL_DA_CELLFRAMELAYOUT auf "XBPFRAME_BOX" setzen und XBP_PP_COL_DA_FRAMELAYOUT auf "XBPFRAME_NONE", sonst hat es - meiner Erinnerung nach - nicht funktioniert (und dann war mit visuellen Stilen das Verhalten wieder anders). Um das weiterhin zu gewährleisten und zugleich das Verhalten der Parameter zu korrigieren, müsste man eigentlich zusätzlich neue einführen.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6656
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Browses

Beitragvon Jan » Mo, 03. Nov 2014 12:46

Tom,

stimmt, unter 1.9 gab es Bugs.

Aber unter 2.0 auch, und zwar andere. Z. B. bekomme ich keine normalen Gitterlinien hin. Nur senkrechte, und nur breite. Keine schmalen, keine waagerechten. Und wenn man {XBP_PP_COL_DA_CELLFRAMELAYOUT , XBPFRAME_NONE} einbaut, zusammen mit Zeilencursor, dann wird beim Scrollen JEDE Zeile markiert ... Nicht besonders angenehm, damit zu arbeiten ...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11449
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Browses

Beitragvon AUGE_OHR » Mo, 03. Nov 2014 19:08

Frage : wie verhält sich ein XbpBrowse() mit Ownerdraw in der v2.x Release ?

als wir 2012 die erste Preview bekommen haben funktioniert ein "normales" XbpBrowse() gar nicht ...
ich habe dann alles auf Ownerdraw umgestellt und zumindest in den beta Versionen ( bis 519 ) kein Problem gehabt.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10057
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Browses

Beitragvon satmax » Mo, 03. Nov 2014 19:20

Wenn man Toms Owner Draw Beispiel (#6) nimmt:

fährst Du mit dem Cursor nach unten verschwindet die Zeilentrennung (der Strich), fährst mit dem Cursor wieder nach oben kommt sie wieder...
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: Browses

Beitragvon AUGE_OHR » Mo, 03. Nov 2014 21:37

satmax hat geschrieben:Wenn man Toms Owner Draw Beispiel (#6) nimmt:
fährst Du mit dem Cursor nach unten verschwindet die Zeilentrennung (der Strich), fährst mit dem Cursor wieder nach oben kommt sie wieder...
ah ... ja ...
nun müsste man mal die Werte von aInfo [ XBP_DRAWINFO_RECT ] von der v1.9x und der v2.x vergleichen ob die gleich sind. wenn ja sollte man mal testen ob jetzt XBP_DRAWACTION_DRAWFRAME ( OwendrawAdvance ) funktioniert ...
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10057
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Browses

Beitragvon satmax » Di, 04. Nov 2014 7:00

Wenn ich in Toms Beispiel folgendes ändere werden die Trennlinien wieder richtig dargestellt:

Code: Alles auswählen
* und noch eine Trennlinie:
GraSetAttrLine( oPS, ::aLineAttrs )
// GraLine(oPs,{ aInfo[ XBP_DRAWINFO_RECT,1 ]-3,aInfo[ XBP_DRAWINFO_RECT,2 ]-3},{aInfo[ XBP_DRAWINFO_RECT,3 ]+3,aInfo[ XBP_DRAWINFO_RECT,2 ]-3 } )

// wird zu :
GraLine(oPs,{ aInfo[ XBP_DRAWINFO_RECT,1 ],aInfo[ XBP_DRAWINFO_RECT,2 ]},{aInfo[ XBP_DRAWINFO_RECT,3 ],aInfo[ XBP_DRAWINFO_RECT,2 ] } )


V1.9x kann ich leider nicht so einfach wieder aktivieren... Habe mich entschlossen voll auf die V2 zu setzen.
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: Browses

Beitragvon Tom » Di, 04. Nov 2014 9:04

Das war auch ein bisschen getrickst/gerätselt, da aInfo[XBP_DRAWINFO_RECT] den Bereich zurückliefert, in dem gezeichnet werden darf, aber nicht die tatsächlichen Abmessungen der Zelle. Diese liefert aInfo[XBP_DRAWINFO_AREA]:CellRect(aInfo[XBP_DRAWINFO_ITEM]). So wäre es richtig:

Code: Alles auswählen
METHOD XbpBrowseCustom:CustomDrawCell( oPS, aInfo )
LOCAL ...
LOCAL aRect := aInfo[XBP_DRAWINFO_AREA]:CellRect(aInfo[XBP_DRAWINFO_ITEM])

...

GraLine( oPs, { aRect[1], aRect[2]}, {aRect[3], aRect[2] })


Den Offset von 3 Pixeln hatte ich interpoliert.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6656
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Browses

Beitragvon Tom » Di, 04. Nov 2014 9:56

Am Rande: Bei der Beschreibung von Tils Vortrag im Rahmen der "Xbase-Tracks" in Frankfurt zum Thema "Verwendung der WebUI in Desktop-Anwendungen" steht wortwörtlich:

Vergessen Sie die bisher dagewesenen Möglichkeiten, Steuerelemente mit Hilfe des Owner-Drawing-Merkmals, Windows GDI oder der Xbase++-Grafics Engine zu visualisieren.

http://www.alaska-software.com/conferen ... ssions.cxp

Tatsächlich glaube ich kaum, dass mir die WebUI all das ermöglicht, was ich inzwischen mit Ownerdrawing schaffe, was übrigens längst nicht mehr nur aus "aufgebohrten" Browses besteht, die flexibel alle möglichen gemischten Daten darstellen können, sondern auch aus komplett eigenen Controls, die mal simple Statics waren. Ownerdrawing bedeutet, dass im Moment des Zeichnens entschieden wird, was wie zur Darstellung kommt, und zwar sogar unabhängig von der Datenquelle (wodurch ein "InvalidateRect" plötzlich viel mächtiger wurde als ein "RefreshAll", das übrigens im ungünstigen - also normalen - Fall deutlich langsamer ist). Die WebUI zieht diese Entscheidung wieder zurück zur Datenquelle. Das kann ein Fortschritt sein, muss es aber nicht. Was mich ärgert: Dass mir vor wenigen Jahren ein Merkmal als bahnbrechend verkauft wurde, mit dem ich mich, vorsichtig gesagt, sehr intensiv auseinandergesetzt habe, um mir nun zu erklären, dass ich die viele Arbeit, die ich da investiert habe, "vergessen" soll. Das werde ich mitnichten tun. Aber ich setze mich natürlich trotzdem mit der WebUI auseinander. Schade finde ich, dass es offenbar keine Verbesserungen am Rendering der GRA-Engine gab, das ziemlich lachhaft ist. Antialiasing oder ähnliches hat da nie funktioniert, und auch die "Precision"-Parameter liefen immer ins Leere. Ein Kreis war da nie ein Kreis. Und er ist auch mit der 2.0 keiner. :cry:
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6656
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Browses

Beitragvon Jan » Di, 04. Nov 2014 10:10

Hallo Tom,

als ich mich vergangenes Jahr auf meinen Forentreffen-Vortrag zur Workbench vorbereitet habe, hatte ich ein intensives Gespräch mit Steffen. In dem er mir erklärte, das die HTML-Elemente kommen sollen. Der dbf-Viewer in der Workbench ist schon so ein HTML-Element. Das wichtige an der Sache ist: Steffen hat auf meine Anfrage dazu betont, das die XBParts inkl. OwnerDrawing bestehen bleiben werden, HTML aber dazu kommen soll

Du solltest also (hoffentlich!) Investitionsschutz genießen. Wobei mich an der ganzen Sache unglaublich ärgert, das der Code im XbpBrowse gebrochen wurde. Und Alaska es nicht hinbekommt, das zu korrigieren.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11449
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Browses

Beitragvon Tom » Di, 04. Nov 2014 10:45

Hartmut Mehdorn hat ja vergleichbare Probleme. :wink:

Die Komplexität ist auch nicht zu unterschätzen. Browses sind komplexe Controls, die aus vielen Elementen bestehen und sehr eigen auf Nachrichten reagieren. Wir, die Entwickler, die mit Browses arbeiten, experimentieren schon seit Jahren und Jahrzehnten damit herum, um Verbesserungen zu ermöglichen, das Look and Feel zu verschönern usw. Ich habe schon Dutzende Varianten von Präsentationsparametern gesehen, die ich für falsch gehalten habe, die aber funktionierten, und zig sehr originelle Ansätze im Bereich Ownerdrawing. Es gibt in meinen Anwendungen Browses, die keiner von Euch als Browses identifizieren könnte. :wink: Das alles arbeitet mit dem grundsätzlichen Eventhandling, dem eigenen Eventhandling, dem in einem separaten Thread laufenden UI-System, möglicherweise vorhandenen visuellen Stilen und vielen anderen Komponenten zusammen, nicht zuletzt mit Datenquellen. Es interagiert mit anderen Controls. Ein selbstgebautes Haus, das gewachsen ist, ohne dass man je den Schritt gewagt hätte, es abzureißen und neu aufzustellen: Der Fluch der Kompatibilität. Insofern habe ich ein gewisses Verständnis dafür, dass Neues auch Rückschritte enthält. Ich hätte das nicht anders erwartet. Ein Major-Update ohne zusätzliche Arbeit für die Entwickler wäre keines, oder? :wink:
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6656
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Browses

Beitragvon AUGE_OHR » Di, 04. Nov 2014 18:36

satmax hat geschrieben:Wenn ich in Toms Beispiel folgendes ändere werden die Trennlinien wieder richtig dargestellt:
ah ... dann wurde wohl wirklich am "Frame" (XBP_DRAWACTION_DRAWFRAME) geschraubt und funktioniert jetzt in der v2.x "anderes" als in der v1.9x
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10057
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Browses

Beitragvon satmax » Di, 04. Nov 2014 19:45

Tom hat geschrieben: Ein Major-Update ohne zusätzliche Arbeit für die Entwickler wäre keines, oder? :wink:


Hallo Jimmy, ich denke besser wie Tomm kann man das nicht ausdrücken. :D
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: Browses

Beitragvon Jan » Sa, 15. Nov 2014 9:54

Till hat gerade über die neue WebUI gesprochen. Das dürfte in zwei Schritten laufen.

Einerseits kann man HTML und CSS nutzen, um OwnerDrawing zu machen. Und dabei z. B. die (CSS-)Formatierung ausgliedern, so das eine saubere Trennung zwischen Logik und Optik entsteht. Die CSS kann man entweder über die .arc einbinden, oder extra mitliefern. Einbinden macht die Sache sicher, extern läßt dem Anwender die Möglichkeit, die Optik selber seinen Bedürfnissen anzupassen (oder auch zu zerschießen :-( ).

Zusätzlich gibt es die Möglichkeit, die gesamte Oberfläche in eine HTML umzubauen. Da ist Alaska aber noch nicht ganz fertig mit. Die wollen noch einen eigene Browser schaffen, mit dem man dann die Desktop-Anwendung als HTML ausgeben kann.

Grundsätzlich fehlt aber noch eine ganze Menge Doku und Samples. Vieles ist schon da, wird nur nirgends erwähnt. Macht die Arbeit nicht einfacher ...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11449
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Browses

Beitragvon Wolfgang Ciriack » So, 16. Nov 2014 16:44

nun müsste man mal die Werte von aInfo [ XBP_DRAWINFO_RECT ] von der v1.9x und der v2.x vergleichen ob die gleich sind. wenn ja sollte man mal testen ob jetzt XBP_DRAWACTION_DRAWFRAME ( OwendrawAdvance ) funktioniert ...


Die Werte in aInfo[XBP_DRAWINFO_RECT] sind schon unterschiedlich, in meinem Beispiel
1.9: [3,745,760,772]
2.0: [3,739,760,766], das heißt 6 Pixel Unterschied.
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2205
Registriert: Sa, 24. Sep 2005 8:37
Wohnort: Berlin


Zurück zu Unterschiede Version 1.9 <-> 2.0

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast