Seite 1 von 1

Umstellung auf XBase++ 1.90

Verfasst: Mo, 14. Aug 2006 11:36
von Gerd König
Hallo,

wir sind zur Zeit dabei unsere Applikationen auf die XBase-Version 1.90 umzustellen, da unsere Tests gezeigt haben, daß diese Version stabiler und schneller (ca. ein Viertel der Zeit bei umfangreichen Auswertungen mit Zugriff auf sehr viele [>500] Tabellen) ist. An 3d-Produkten verwenden wir XClass, SQLExpress, List&Label (Version 9), JAZZAge (Version 3.1), und die SMTP/POP3-Email-Engine (Version 1.0) von Marshall Soft. Weiterhin verwenden wir einige extern Programmierte C-DLLs.

Außer für XClass und SQLExpress wurden bisher keine neuen Versionen installiert.

SQLExpress läuft problemlos.

Bezüglich XClass bin ich noch mit DS-Datasoft in Kontakt. Wir verwenden aus XClass zur Zeit nur dsXBrowse und dsTreeView, da diese viel komfortabler als die von XBase++ mitgelieferten sind. Wohl aus diesem Grund fanden wir 3 Problemstellen. Da wir aber die Developer-Version und damit den Quellcode besitzen, konnte ich diese 3 Stellen so manipulieren, daß diese Fehler (Programmabstürze) nicht mehr auftreten.
Diese Workarounds habe ich an DS-Datasoft übermittelt... Mal sehen, wie es weitergeht...

Wenn keine weiteren Probleme auftreten, werden wir die Umstellung in den nächsten Wochen vollziehen.

Hattet oder habt ihr irgendwelche Problem mit Third-Party-Produkten insbesonders den oben genannten gehabt? Das würde mich interessieren.

Viele Grüße
Gerd

Verfasst: Mo, 14. Aug 2006 12:03
von Martin Altmann
Hallo Gerd,
ja - siehe dazu meinen Beitrag in dem 3rd Party-Forum.
dsXBrowse benutze ich auch an mehreren Stellen (habe aber jetzt noch nicht alles getestet...)! Welche Probleme hattest Du denn dabei?

Viele Grüße,
Martin

Verfasst: Mo, 14. Aug 2006 12:23
von Gerd König
Hallo Martin,

dabei handelt es sich um folgende Fehler:


bei dsTreeview: Absturz beim Aufruf eines Kontextmenüs
Member-Variable „ContextMenu“ unbekannt

bei dsXBrowse: Absturz nach Auswahl eines Items des Kontextmenüs
Parameter hat falschen Typ (in __ShowSelectedItem, Operation SetMessage)

bei dsXBrowse: Absturz, wenn kein Kontextmenü vorhanden ist und die rechte Maustaste gedrückt wird


Wie gesagt, ich habe die Original-Quellen (dsTreeview.prg, dsMenu.prg und dsXBrowse.prg) geändert und XClass neu compiliert. Inwieweit die Änderung in der Menü-Klasse sich auf andere ds-Objekte auswirkt, habe ich nicht geprüft,da für unf momentan nicht relevant :)

Viele Grüße
Gerd

Verfasst: Mo, 14. Aug 2006 12:25
von Martin Altmann
Hallo Gerd,
danke für die Hinweise - muss ich mir mal in Ruhe anschauen (habe ja auch die Developerversion).

Viele Grüße,
Martin

Verfasst: Mo, 14. Aug 2006 12:32
von Gerd König
Hallo Martin,

wenn du möchtest schicke ich dir die Änderungen per Email

Tschüß Gerd

Verfasst: Mo, 14. Aug 2006 12:35
von Martin Altmann
Hallo Gerd,
gerne - danke!
Hast Du denn eine Idee zu meinem Problem mit den dsTabPages?

Viele Grüße,
Martin

Verfasst: Mo, 14. Aug 2006 12:47
von Gerd König
Hallo Martin,

TabPages verwenden wir bisher nicht. Ich habe mich deshalb auch 8noch nicht) mit der Problematik befaßt und kann dir somit auch leider nicht weiterhelfen.

Viele Grüße
Gerd

Verfasst: Mo, 14. Aug 2006 12:53
von Martin Altmann
Hallo Gerd,
vielen Dank für Deine Mail.
Mal sehen, ob und wann sich Dieter bzw. Marcus bei mir wegen des "Fehlers" melden...

Viele Grüße,
Martin

Verfasst: Do, 17. Aug 2006 11:29
von Gerd König
Hallo Martin.

bist du schon dazu gekommen, dsBrowse zu testen?


Nach diversen weiteren fehlerlosen Tests meiner Applikationen bin ich zu der Überzeugung gekommen, daß ich unser ERP-System aus Stabilitäts- und Geschwindigkeitsgründen eigentlich sofort auf die neue Version umstellen müßte. Wäre da nicht das von mir manipulierte XClass. :roll:

Na ja, dieses Wochenden will ich noch abwarten...

Viele Grüße
Gerd

Verfasst: Do, 17. Aug 2006 11:33
von Martin Altmann
Hallo Gerd,
nein - leider noch nicht!
Habe heute Spätschicht - mal sehen, ob es heute ein wenig ruhiger ist, dann kann ich ja mal schauen...

Viele Grüße,
Martin

Verfasst: Do, 17. Aug 2006 13:47
von Martin Altmann
Hallo Gerd,
das hat mir jetzt keine Ruhe gelassen und ich habe mal kurz einige dsXBrowse bei mir getestet.
Bei zweien war ein Kontextmenü vorhanden und bei den anderen dreien nicht (habe noch mehr, aber erstmal nur die fünf getestet).
Alle haben korrekt funktioniert:
Es kam kein Kontextmenü bei den dreien und bei den anderen beiden hat jeder (Standard)eintrag funktioniert.

Viele Grüße,
Martin

Verfasst: Do, 17. Aug 2006 14:04
von Gerd König
Hallo Martin,

befinden sich deine Browse-Objekte auf der Drawingarea? Bei mir nicht, die haben alle als Parent ein Xbp-Static.

Ist dein Applikationsfenster vom ds-Applikationsfenster abgeleitet?
Oder verwendest du die App- und Eventfunktionen von XClass?
Das ist bei mir auch nicht der Fall. Das Applikationsfenster ist von XpbDialog abgeleitet. Die Mainprozedur entspricht bis auf Kleinigkeiten der MainProzedur, wie sie der Formdesigner erstellt.

Wahrscheinlich liegt darin die Ursache. Unter XClass3 funktionierte jedenfalls alles bestens.


Viele Grüße
Gerd

Verfasst: Do, 17. Aug 2006 14:08
von Martin Altmann
Hallo Gerd,
Gerd König hat geschrieben:befinden sich deine Browse-Objekte auf der Drawingarea?
Ja.
Gerd König hat geschrieben:Ist dein Applikationsfenster vom ds-Applikationsfenster abgeleitet?
Noch ein ja.

Viele Grüße,
Martin

Verfasst: Do, 17. Aug 2006 18:02
von AUGE_OHR
hi,
Martin Altmann hat geschrieben: Es kam kein Kontextmenü bei den dreien und bei den anderen beiden hat jeder (Standard)eintrag funktioniert.
Ich sehe gerade "Kontextmenü". Ist das "leer" ? Ist es ein "ownerdraw"
Menu ? Wenn ja braucht ihr eine "neue" Xppui1.DLL die das "behebt"

gruss by OHR
Jimmy

Verfasst: Do, 17. Aug 2006 18:09
von Martin Altmann
Hallo Jimmy,
nein, nein - es geht um XClass++ und da gibt es (auf Wunsch) bei einem dsXBrowse auch ein Kontextmenü.
Gerd hatte da Probleme - ich jedoch nicht.
Da wo keines kam, sollte auch keines kommen.

Viele Grüße,
Martin

Verfasst: Do, 17. Aug 2006 20:00
von Gerd König
Hallo,
.. ein Teilerfolg: Kontextmenü bei dsXBrowse funktioniert mit Original-XClass-DLL

Bisheriger Code (funktionierte unter Xbase 1.82 und XClass 3)

Code: Alles auswählen

::oBrowse:CreateContextMenu("MyMenu")
::oBrowse:Menu:AddItem(,1000,"Erster Eintrag",{||ErsteFunktion()})
.......

Unter XClass 4 geht bei mir nur:

Code: Alles auswählen

oX:=::oBrowse:CreateContextMenu("MyMenu")
oX:AddItem(,1000,"Erster Eintrag",{||ErsteFunktion()})
.......
Ich werde morgen alle meine Browse-Kontextmenüs umstellen (knapp 400 Programmzeilen über ca 50 Files verteilt - eine Arbeit für Idioten :cry:

Danach werde ich mir meine anderen beide Probleme noch einmal vornehmen...

Einen schönen Abend wünscht
Gerd

Test zum Xbrowse Problem

Verfasst: Fr, 18. Aug 2006 8:31
von Dieter Stelzner
Hallo,
habe das Beispiel laufen lassen. Ohne Probleme!
Sie sagten sie würden ihre eigenen Klassen benutzen und dsXbrowse dazu einhängen.
Ich vermute das da das Problem liegt! dsXBrowse ist fest in der XClass++ Struktur verankert und wenn sie eigene Klassen benutzen, müssen sie natürlich den ganzen Vererbungsbaum nachziehen.
mfg
Dieter Stelzner
DS-datasoft GmbH & Co.KG

Verfasst: Fr, 18. Aug 2006 8:43
von Martin Altmann
Hallo Dieter,
schön dass Du die Zeit gefunden hast, vorbeizuschauen! :)
Habt ihr denn schon eine Idee zu meinem "Problem" mit den dsTabPage bzw. dsTabCtrl :?:

Viele Grüße,
Martin

Verfasst: Fr, 18. Aug 2006 13:22
von Gerd König
Hallo Martin,

meine Probleme bei dsXBrowse sind gelöst:

Die Probleme mit dsXBrowse sind gelöst


Browse mit Kontextmenü

Speichern des Rückgabewertes von :CreateContextmenu() in einer lokalen Variablen oder einer Membervariablen
Alle Menüoperationen müssen sich dann auf diese Variable beziehen

Browse ohne Kentextmenü (Absturz bei Betätigen der rechten Maustaste)

Viele Grüße
Gerd


Aufruf der Methode :CreateContextmenu() ohne Parameter genügt um den Absturz zu verhindern (Initialisierungsfrage?)


Nächste Woche werde ich mich mit meinem Treeview-Problem befassen.

Verfasst: Fr, 18. Aug 2006 13:30
von Martin Altmann
Hallo Gerd,
prima! Viel Erfolg mit Deinem dsTreeView.

Viele Grüße,
Martin

Verfasst: Mo, 21. Aug 2006 10:47
von Gerd König
Hallo,

das Problem dsTreeview habe ich dahingehend gelöst, daß ich die ds-Methode CallContextmenu() überschrieben habe. Damit kann ich jetzt Original-XClass-DLL verwenden.
:blob5:

Viele Grüße
Gerd

Verfasst: Fr, 01. Sep 2006 10:46
von Martin Altmann
Hallo Dieter,
habe gerade gesehen, dass Ihr seit heute eine neue Version auf Eurer Homepage habt!
Habe sie gerade heruntergeladen, installiert und ausprobiert: Es funktioniert, das Problem mit dem dsTabCtrl ist verschwunden!!
Es gibt nur Probleme mit meiner Seriennummer, aber da schreibe ich Dir gleich mal eine Mail dazu.

Vielen Dank und viele Grüße,
Martin