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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Parentwechsel

Beitrag von Jan »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Parentwechsel

Beitrag von HaPe »

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
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Parentwechsel

Beitrag von Werner_Bayern »

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

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Parentwechsel

Beitrag von brandelh »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Parentwechsel

Beitrag von brandelh »

Dann setze ein [erledigt] oben in deinen Titel und keiner schaut mehr rein ;-)
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Parentwechsel

Beitrag von Tom »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Parentwechsel

Beitrag von brandelh »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentwechsel

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
DelUser01

Re: Parentwechsel

Beitrag von DelUser01 »

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

Zurück zu „Unterschiede Version 1.9 <-> 2.0“