Re: [de-users] Bug in setString, getString-Methode von Textfeldern?
Jetzt nochmal an die Liste, hab den Extrabutton übersehen. Danke für die Hilfe, der Tipp von Gerhard hat geklappt. Am 14.12.2020 um 14:28 schrieb Gerhard Weydt: Hallo Stefan, Robert, ich habe das beschriebene Verrhalten an einem eigenen Beispiel nachvollziehen können. Verschiedene Versuche, z. B. Verdoppelung der Zuweisung auf das Feld oder Klonen des Feldes, führten teilweise dazu, dass es dann funktionierte, nach erneutem Laden des Dokuments war der Effekt dann aber wieder verschwunden. Mit wait hatte ich gar keinen Erfolg. Was dann aber offenbar dauerhaft geholfen hat, war, den Weg über die Steuerelemente zu nehmen statt wie bisher über die Modelle, also eine Eingabe ins Formular zu simulieren. Hier ist mein Code, die Feldnamen sind zwar anders, aber das sollte verständlich sein: controller = Thiscomponent.currentController form = thisComponent.drawpage.forms.getByName("MainForm") field1 = form.getByName("txtEingabe") field1C = controller.getControl(field1) field2 = form.getByName("txtBezeichnung") field2C = controller.getControl(field2) field2c.Text = field1c.Text Eine Erklärung kann ich allerdings nicht anbieten, das Verhalten ist für mich auch rätselhaft. Grüße Gerhard Am 13.12.2020 um 20:43 schrieb Robert Großkopf: Hallo Stefan, Sub testSetGetString oForm = thisComponent.drawpage.forms.getByName("frm_Kategorie") oSubKatEin = oForm.getByName("frm_SubKat2_Eingabe") oConnection = oForm.activeConnection() otxtField1 = oSubKatEin.getByName("Textfeld 1") stInput = otxtField1.getString otxtField2 = oSubKatEin.getByName("Textfeld 2") otxtField2.setString(stInput) End Sub Ich nehme das nicht zum ersten Mal wahr: Die Makros haben irgendwo Probleme mit dem gleichzeitigen Ablauf. Versuche einmal, zwischendurch z.B. mit einer msgbox stInput abzugreifen. Ich habe das gerade getestet und anfangs in XRAY mit der Methode Erfolg gehabt, konnte aber mit msgbox stInput nichts auslesen. Versuche dann einmal otxtField1 = oSubKatEin.getByName("Textfeld 1").boundField Versuche alternativ auch mit wait 100 oder ähnlichen Werten - 1000 bedeutet 1 Sekunde ... Gruß Robert -- Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft. https://www.avast.com/antivirus -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Bug in setString, getString-Methode von Textfeldern?
Hallo Stefan, Robert, ich habe das beschriebene Verrhalten an einem eigenen Beispiel nachvollziehen können. Verschiedene Versuche, z. B. Verdoppelung der Zuweisung auf das Feld oder Klonen des Feldes, führten teilweise dazu, dass es dann funktionierte, nach erneutem Laden des Dokuments war der Effekt dann aber wieder verschwunden. Mit wait hatte ich gar keinen Erfolg. Was dann aber offenbar dauerhaft geholfen hat, war, den Weg über die Steuerelemente zu nehmen statt wie bisher über die Modelle, also eine Eingabe ins Formular zu simulieren. Hier ist mein Code, die Feldnamen sind zwar anders, aber das sollte verständlich sein: controller = Thiscomponent.currentController form = thisComponent.drawpage.forms.getByName("MainForm") field1 = form.getByName("txtEingabe") field1C = controller.getControl(field1) field2 = form.getByName("txtBezeichnung") field2C = controller.getControl(field2) field2c.Text = field1c.Text Eine Erklärung kann ich allerdings nicht anbieten, das Verhalten ist für mich auch rätselhaft. Grüße Gerhard Am 13.12.2020 um 20:43 schrieb Robert Großkopf: Hallo Stefan, Sub testSetGetString oForm = thisComponent.drawpage.forms.getByName("frm_Kategorie") oSubKatEin = oForm.getByName("frm_SubKat2_Eingabe") oConnection = oForm.activeConnection() otxtField1 = oSubKatEin.getByName("Textfeld 1") stInput = otxtField1.getString otxtField2 = oSubKatEin.getByName("Textfeld 2") otxtField2.setString(stInput) End Sub Ich nehme das nicht zum ersten Mal wahr: Die Makros haben irgendwo Probleme mit dem gleichzeitigen Ablauf. Versuche einmal, zwischendurch z.B. mit einer msgbox stInput abzugreifen. Ich habe das gerade getestet und anfangs in XRAY mit der Methode Erfolg gehabt, konnte aber mit msgbox stInput nichts auslesen. Versuche dann einmal otxtField1 = oSubKatEin.getByName("Textfeld 1").boundField Versuche alternativ auch mit wait 100 oder ähnlichen Werten - 1000 bedeutet 1 Sekunde ... Gruß Robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Bug in setString, getString-Methode von Textfeldern?
Hallo Stefan, > > Sub testSetGetString > > oForm = thisComponent.drawpage.forms.getByName("frm_Kategorie") > oSubKatEin = oForm.getByName("frm_SubKat2_Eingabe") > oConnection = oForm.activeConnection() > otxtField1 = oSubKatEin.getByName("Textfeld 1") > stInput = otxtField1.getString > > otxtField2 = oSubKatEin.getByName("Textfeld 2") > otxtField2.setString(stInput) > End Sub > Ich nehme das nicht zum ersten Mal wahr: Die Makros haben irgendwo Probleme mit dem gleichzeitigen Ablauf. Versuche einmal, zwischendurch z.B. mit einer msgbox stInput abzugreifen. Ich habe das gerade getestet und anfangs in XRAY mit der Methode Erfolg gehabt, konnte aber mit msgbox stInput nichts auslesen. Versuche dann einmal otxtField1 = oSubKatEin.getByName("Textfeld 1").boundField Versuche alternativ auch mit wait 100 oder ähnlichen Werten - 1000 bedeutet 1 Sekunde ... Gruß Robert -- Homepage: https://www.familiegrosskopf.de/robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
[de-users] Bug in setString, getString-Methode von Textfeldern?
Hallo zusammen, ich glaube ich bin gerade über einen Bug in der setString und getString-Methode von Textfeldern für Formulare gestolpert. Zum erproben habe ich mir folgendes Testmakro geschrieben: Sub testSetGetString Dim oForm As Object Dim oSubKatEin As Object Dim oConnection As Object Dim otxtField1 As Object Dim otxtField2 As Object Dim stInput As String Dim stOutput As string oForm = thisComponent.drawpage.forms.getByName("frm_Kategorie") oSubKatEin = oForm.getByName("frm_SubKat2_Eingabe") oConnection = oForm.activeConnection() otxtField1 = oSubKatEin.getByName("Textfeld 1") stInput = otxtField1.getString otxtField2 = oSubKatEin.getByName("Textfeld 2") otxtField2.setString(stInput) End Sub Passieren sollte (falls ich keinen Knoten im Kopf hab): Der Inhalt des ersten Textfeldes wird bei Ausführung des Makros in das zweite Textfeld geschrieben. Dies klappte in LibreOffice 6.4.7 nur einmal kurz in einem anderen Makro und dann nicht mehr. In 7.0.3 klappte es einmal kurz, nachdem ich das Programm zu ersten Mal gestartet habe, wobei nur ein Teil meiner Eingabe übernommen wurde. Kann den Fehler einer von euch bestätigen? Und wenn ja, wie mach man dann die Bug-Reports? Viele Grüße Stefan -- Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft. https://www.avast.com/antivirus -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy