Parentwechsel

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

Moderator: Moderatoren

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

Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 9:04

wenn ich mit Tabreitern arbeite, dann "verschiebe" ich bestimmte Buttons jeweils mit beim Wechsel. Ich ändere also den Parent des PB von dem einen Tab auf den neuen aktuellen. Das habe ich bisher immer so gelöst, dass ich SetParent() gesetzt habe und dann ein configure() dahinter. Seit der 2.0 ist das configure() wohl überflüssig, oder sogar gefährlich geworden. Wenn man den Parent wechselt, sieht man wie der PB neu auftaucht auf dem Tab, aber sobald das configure() gemacht wird, verschwindet er wieder. Wo er jetzt genau landet habe ich nicht geprüft, aber wenn das configure() weggelassen wird, dann blebt der PB auf dem TAb sichtbar.
War das unter 1.9 ein Designfehler, oder ist es das unter der 2.0? Oder wie soll man das nennen?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13526
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Parentwechsel

Beitrag von Jan » Mi, 07. Feb 2018 9:19

Manfred,

soweit ich das verstehe benötigen alle:set...-Methoden der XbParts grundsätzlich kein :configure(). Das ist ja gerade der Sinn dieser Methoden. Von daher würde ich einfach mal vermuten daß das früher ein Bug war. Aber auch heute, denn ein :configure() dürfte nichts kaputt machen. Sondern sollte nur offene Jobs in der Konfiguration abarbeiten. Würde ich mal Alaska fragen.

Wobei sich mir die Frage stellt warum Du das so machst. Was spricht dagegen die entsprechenden Schaltflächen auf den jeweiligen Parents unterzubringen, egal ob die dann doppelt vorhanden sind oder nicht. Ist aber vermutlich einfach nur eine Frage der Gewöhnung.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

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

Re: Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 9:29

warum das mit dem configure() gemacht wurde weiß ich heute nicht mehr, vielleicht aus Sicher- Unwissenheitheit? Aber die 2.Frage erklärt sich von selbst. Das Wort doppelt sagt schon alles. Deshalb gibt es auch Funktionen. Alles was mehr als einmal benötigt wird.... AUSLAGERN eiserne Regel..
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
HaPe
Foren-Moderator
Foren-Moderator
Beiträge: 743
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz

Re: Parentwechsel

Beitrag von HaPe » Mi, 07. Feb 2018 9:33

Hallo Manfred !
wenn ich mit Tabreitern arbeite, dann "verschiebe" ich bestimmte Buttons jeweils mit beim Wechsel.
Keine direkte Antwort zu deiner Frage sondern eine Frage warum du das so machst.
Habe ich Buttons oder andere Eingabe-Objekte die auf mehreren/allen Reitern zu sehen sein sollen werden diese auf dem Formular oben über den Tabreitern oder unten unter den Tabreitern angezeigt (liegt dann direkt auf dem Formular).
Wenn es nicht auf allen Reiteren angezeigt wird zu einer Klasse zusammenfassen und dann die Ableitung auf jede Seite "klatschen".
Wäre das keine Lösung?
--
Hans-Peter

Organisator der XUG Stuttgart
Beisitzer des Deutschsprachige Xbase-Entwickler e. V.

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

Re: Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 9:36

OK,
es geht in diesem Falle um die Navigation durch eine Tabelle Anfang, vor, zurück, Ende. Die Sollen/dürfen aber nicht auf jedem Tab auftauchen, also verschiebe ich sie dann, wenn ich sie brauche. Ich behaupt einmal, wenn es mehrere Tabs sind ist verschieben/ oder nicht, einfacher als angezeigt lassen, aber evtl. jedesmal verhindern, das sie benutzt werden.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

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

Re: Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 9:38

es kann aber auch sein, das Dein Vorschlag auch gut ist HaPe, aber da ich mir jetzt schon fertige Schablonen gebaut habe lasse ich es so.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1693
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Parentwechsel

Beitrag von Werner_Bayern » Mi, 07. Feb 2018 12:15

Die Lösung von HaPe ist die schönere und wenn ein Tab gewählt wird, wo die Buttons keine Funktion haben dürfen, dann einfach disablen. Macht den Dialog auch schneller.
es grüßt euch

Werner

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14840
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Parentwechsel

Beitrag von brandelh » Mi, 07. Feb 2018 13:00

Ich persönlich ziehe es vor, wenn man die Buttons sieht (mit Fehlermeldung = Enabled() ... geht nicht weil; oder ohne dann disablen()),
aber man kann aber auch alles mit HIDE() verstecken was nicht sichtbar sein soll, oder man verschiebt es in den unsichtbaren Bereich, setPos( {-1000,-1000} )

Mein Code sieht häufig Aufrufe auf das Hauptfenster vor, wenn ich da immer die Parents() ändern würde,
insbesondere wenn der Weg unterschiedlich lang ist (Groupbox() dazwischen), wäre es schon mühsam alle Aufrufe zu ändern.
Gruß
Hubert

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

Re: Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 13:45

Leute, macht bitte keine Wissenschaft daraus. Es war nur eine Frage, bzw. Erkenntnis bzgl. der Technik nicht des Sinn und Zwecks des Tuns. Ich hätte auch ein anderes Beispiel nehmen können.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14840
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Parentwechsel

Beitrag von brandelh » Mi, 07. Feb 2018 16:07

Dann setze ein [erledigt] oben in deinen Titel und keiner schaut mehr rein ;-)
Gruß
Hubert

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

Re: Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 16:13

es ist ja eigentlich nicht erledigt. Das Problem als solches wurde ja nicht wirklich gelöst, sondern nur besprochen wer es anders macht. Ich wollte darauf hinweisen, das es wohl Unterschiede gibt, aber auch wissen, ob andere die Erfahrung auch gemacht haben. Evtl. unter anderen Umständen. Aber so wie es aussieht, weiß ich jetzt zumindest, das ein configure() nicht notwendig wäre. Was mir aber dann wieder die Frage in den Kopf bringt, warum ich das damals gemacht habe? Vielleicht war es ja wirklich nötig? (damals)
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

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

Re: Parentwechsel

Beitrag von Tom » Mi, 07. Feb 2018 16:51

Hallo, Manfred.

Ich habe mal meinen Code nach Configure()-Aufrufen durchsucht. Ich verwende es nur, wenn die Darstellungsparameter (Zellengröße o.ä.) eines existierenden Browses geändert werden sollen, sonst nicht. Ich bewege - wie Du - gelegentlich auch Elemente von einem Dialog/Part zum anderen, was durchaus sehr sinnvoll sein kann, aber da ist es nicht nötig. Wie hier bereits erwähnt wurde, sorgen alle Set-Methoden offenbar dafür, dass die nötigen abhängigen Vorgänge (Neuzeichnen) ausgelöst werden.
Herzlich,
Tom

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

Re: Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 16:55

OK,
dann sieht es so aus, als wenn wieder ein Punkt entdeckt wurde, bei dem die 1.9er anders/humaner reagiert als die 2.er
Ich suche weiter..... :blob8:
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14840
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Parentwechsel

Beitrag von brandelh » Mi, 07. Feb 2018 17:37

Ich hab die alte Doku nicht da, aber es gab früher Aufgaben, die man nur über configure lösen konnte, da die Methoden fehlten.
Auch soll es bei vielen Änderungen besser sein, diese erst über die iVars zu ändern, dann einmal configure aufzurufen.
Allerdings muss man dann alles wieder angeben ...

Da es die SetParent() Methode gibt, muss diese ohne configure auskommen, sonst liegt ein Fehler vor ;-)
Gruß
Hubert

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

Re: Parentwechsel

Beitrag von Manfred » Mi, 07. Feb 2018 17:43

ich denke mal, es war falsch ist aber nicht aufgefallen. Wenn jetzt der parent gewechselt wird, dann sieht man im Debugger, wie der PB auftaucht und nach configure() direkt wieder verschwindet.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

DelUser01

Re: Parentwechsel

Beitrag von DelUser01 » Mi, 07. Feb 2018 19:03

sicherliche - ein unqualifizierter Beitrag von mir - aber das muss raus

bei dem Betreff "Parentwechsel" lese ich heute dauernd "Partnerwechsel", weiß auch nicht warum... 8)

Antworten