Probleme mit "Application.OnTime"

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

Was willst Du denn genau erreichen?
Gruß R
Ich will erreichen, dass die verborgenen Programmteile ihren Job weiter machen ohne zu waiten und, daß, wenn ich zum Beispiel eine aktive Instanz von VLC killen will, um mittels Kommandozeile-Parameter das Abspielen des Videos zu einem früheren oder späteren Zeitpunkt fortzuschellen, daß das nicht in die Hose geht, weil die zum Sterben verurteilte Instanz ihr Leben so schnell noch nicht aufgeben wollte.

Ciao

Gianni
Zuletzt geändert von Jonny1 am Sa, 26.01.2013 19:28, insgesamt 1-mal geändert.
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Probleme mit "Application.OnTime"

Beitrag von Karolus »

Hallo
Warum zum Kuckuck willst du aus Calc heraus eine eine Anwendung( VLC ) steuern, und warum ausgerechnet per VBA ?
Gibt es keine grafischen Frontends für VLC die du benutzen könntest ?

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

PS:

Es ist auch so - oder bilde ich mir vielleicht es nur so vor - daß, wenn das Programm x-Millisekunden waitet, die alte Instanz vielleicht danach noch nicht gekillt ist, und man hat infolgedessen eine Totgeburt. Wenn aber geOnTimet wird, dann kann - laut Bill Gates - nichts mehr verhindern, daß die neue Instanz geboren wird.
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

PS zum PS:

An der Adresse http://msdn.microsoft.com/en-us/library ... e.15).aspx kann man lesen:
... Macros may not always run at the specified time. For example, if a sort operation is under way or a dialog box is being displayed, the macro will be delayed until Word has completed the task. If this argument is 0 (zero) or omitted, the macro is run regardless of how much time has elapsed since the time specified by When.
"... regardless of how much time has elapsed since the time specified by When."

= "... ganz egal wie viel Zeit nach dem in When angegebenen Zeitpunkt vergangen ist."

Diese gleichzeitige Flexibilität und Hartnäckigkeit von OnTime versuche ich zu nutzen, um die Transkriptions-Makros zu verwirklichen.
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Probleme mit "Application.OnTime"

Beitrag von lorbass »

Das sind doch alles MSO-/VBA-Interna. Meinst du nicht auch, dass du damit in einem dazu passenden Forum besser aufgehoben wärst?

BTW:
Jonny1 hat geschrieben:PS zum PS:
… heißt üblicherweise »PPS« ;) Das dritte »PS« dann »PPS« usw.

Gruß
lorbass
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

F3K Total hat geschrieben:Moin,
bei mir (W7-32) kommt diese Fehlermeldung trotz

Code: Alles auswählen

Option VBASupport 1
Bild
Gruß R
Viele male habe ich - nachdem ich "Option VBASupport 1" eingefügt hatte - keinerlei Fehlermeldung erhalten. Selbst dann, wenn ich den Namen der aufzurufenden Prozedur mit dem Namen einer nicht existenten Prozedur ersetzt habe.

Jetzt habe ich es nochmals versucht und - wie verhext - bekommen ich die gleiche Fehlermeldung wie du.

Es wird immer anstrengender zu verstehen.

Gianni
Dateianhänge
My Macros - Dialogs-Standard - LibreOffice Basic.png
My Macros - Dialogs-Standard - LibreOffice Basic.png (85.25 KiB) 7794 mal betrachtet
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

Was ich im neuen, den Fehler auslösenden Versuch, anders als vorher gemacht habe, ist es, daß ich die Makros in einem extra dafür erschaffenen "Modul2" von "My Macros & Dialogs.Standard" getan habe. Und zwar deswegen, weil ich - ich glaube zu erinnern in den Anleitungen von MSO/VBA - gelesen hatte, daß man die Makros in das Hauptmodul stecken sollte.

Als ich aber es mit "My Macros & Dialogs.Standard.Modul1" versucht hatte, kam eine mir ganz und gar unverständliche Fehlermeldung. Deswegen habe ich das Modul "My Macros & Dialogs.Standard.Modul2" verwendet.

Als ich nun wieder mit "Untitled.Standard.Modul1" versucht habe, ging es wieder fehlermeldungsfrei fehlerhaft vor sich vor:
Dateianhänge
Untitled 1-Standard - LibreOffice Basic.png
Untitled 1-Standard - LibreOffice Basic.png (75.39 KiB) 7792 mal betrachtet
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

Wäre es nicht vielleicht sinnvoll, den Herstellern von OO BASIC die Fehlermeldungen bzw. das fehlermeldungsfreie Fehlverhalten ihres Interpreters zu zeigen? Habt ihr Erfahrung darin? Habt ihr euch in der Vergangenheit bereits mit ihnen in Kontakt gesetzt?

Der Vollständigkeit halber lade ich hier unten die zwei diesmal einander identischen Fehlermeldungen bei einem Modul von "Untitled 1" bzw. von "My Macros & Dialogs.Standard" in dem Fall, daß man die vorgeschriebene Option "Option VBASupport 1" weglässt, hoch:
Dateianhänge
Untitled 1-Standard - LibreOffice Basic - 1.png
Untitled 1-Standard - LibreOffice Basic - 1.png (82.4 KiB) 7782 mal betrachtet
My Macros - Dialogs-Standard - LibreOffice Basic - 1.png
My Macros - Dialogs-Standard - LibreOffice Basic - 1.png (85.8 KiB) 7782 mal betrachtet
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Probleme mit "Application.OnTime"

Beitrag von lorbass »

Was sollen deine laufenden Wasserstandsmeldungen bewirken? Hast du einen Hang zu Selbstgesprächen?

Gruß
lorbass
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Probleme mit "Application.OnTime"

Beitrag von F3K Total »

Moin,
ich hatte mal ein ähnliches Problem und habe diesen Thread im englischen Forum gefunden, leider ist es oft schwer erreichbar:

http://www.oooforum.org/forum/viewtopic.phtml?t=59763
MS777 hat geschrieben: OOBasic lacks a timer functionality. This post shows, how to implement a timer functionality in OOBasic using BeanShell.
Das funktioniert wunderbar und läuft stabil, anbei ein Beispiel.
HTH
Gruß R
Dateianhänge
ApplicationOnTime.odt
(12.16 KiB) 426-mal heruntergeladen
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

Vielen Dank für deinen hilfreichen Beitrag. Die Datei habe ich heruntergeladen und - nach einigem Bangen und Zögern - mich entschlossen die Makros laufen zu lassen. Funktioniert einwandfrei und ich bin dabei mir es durchzustudieren.
leider ist es oft schwer erreichbar
In der Tat. Nach einigen erfolglosen Versuchen, habe ich aufgegeben.

Was mir noch nicht so ganz klar ist, ist es unter anderem folgendes...
MS777 hat geschrieben:
OOBasic lacks a timer functionality. This post shows, how to implement a timer functionality in OOBasic using BeanShell.
... schreibt das englische Forum.

Andererseits - wie auch Stefan hervorgehoben hat - kennt OOBasic "Application.OnTime". Man muß nur eben "Option VBASupport 1" davor setzen.

Aber der Hochrangige schreibt:
lorbass hat geschrieben:Das sind doch alles MSO-/VBA-Interna. Meinst du nicht auch, dass du damit in einem dazu passenden Forum besser aufgehoben wärst?

BTW:
Jonny1 hat geschrieben:PS zum PS:
… heißt üblicherweise »PPS« ;) Das dritte »PS« dann »PPS« usw.

Gruß
lorbass
Wie ist es nun?

Ist Application.OnTime eine Errungenschaft der Mannschaft von Bill Gates, welche sich die Menschen von StarOffice, OpenOffice, LibreOffice, etc. erfreulicherweise so angeeignet und uns zur Verfügung gestellt haben, wie sie sich Hunderte oder Tausende von anderen Errungenschaften von Microsoft angeeignet und uns weitergereicht haben, oder "sind doch alles MSO-/VBA-Interna"?

Ist eine Funktionalität von MSO-/VBA, welche in OO-/BASIC übertragen wurde, nur dann Teil von OpenOffice, wenn man darüber nicht "Option... " schreibt?

Hat OOBasic die Timer-Funktionalität Application.OnTime oder does OOBasic lack a timer functionality?

Oder hätte ich die Frage - um mich im vorliegenden Forum gut aufgehoben zu fühlen - erst gar nicht stellen dürfen, lorbass?

Gianni Facini

PS:

Für diejenigen die - so wie ich - Bangen und Zögern verspüren, wenn sie Makros aus einer heruntergeladenen Datei laufen lassen wollen, OpenOffice sie aber warnt, daß es gefährlich werden könnte, schreibe ich hier unten den Code...

Code: Alles auswählen

global oP

Sub Start_timer
	oP = GenerateTimerPropertySet()
	oJob1 = createUnoListener("UHR_", "com.sun.star.task.XJobExecutor")
	oP.xJob = oJob1
	oP.lMaxIterations    = 20000'20 Sekunden
	oP.lPeriodInMilliSec = 1000'alle 1 Sekunde
	oP.start()
End Sub

Sub Stop_timer
	oP.stop()
End Sub

function GenerateTimerPropertySet() as Any
	oSP    = ThisComponent.getScriptProvider("")
	oScript = oSP.getScript("vnd.sun.star.script:timer.timer.bsh?language=BeanShell&location=document")
	GenerateTimerPropertySet = oScript.invoke(Array(), Array(), Array())
end function

sub UHR_trigger
    oform = thiscomponent.drawpage.forms.Uhr
    otxtTime = oform.txtTime
    otxtTime.Text = Time()
end sub



Sub anderes_Makro_laufen_lassen
   Msgbox "Obwohl die Uhr läuft, kommt diese Meldung"
end sub
... und zeige die Konfiguration der Buttons:
Dateianhänge
2013_01_27.png
2013_01_27.png (6.18 KiB) 7723 mal betrachtet
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Probleme mit "Application.OnTime"

Beitrag von F3K Total »

Hallo Gianni,
das ist jetzt die zweite üble Provokation, die du von Dir gibst:
1.)[quote=""Jonny1"]Vielen Dank.[/quote]
2.)
Jonny1 hat geschrieben:... erst gar nicht stellen dürfen, lorbass?
Hier im Forum versuchen Leute anderen in ihrer FREIZEIT zu helfen.
Dieses Forum hat nichts mit AOo oder LO zu tun, ist privat.
Wir helfen uns gegenseitig.
Dir ist inzwischen einiges an freiwilliger Unterstützung widerfahren, also bitte, mäßige Deinen Ton.
R

PS:
schreibe ich hier unten den Code...
da fehlt der wichtigste Teil, das beanshell script, zu finden unter Extras/Makros/Makros verwalten/Beanshell ... timer/timer.bsh
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

Hochrangige dürfen sich den arroganten Ton leisten, setzt man sich endlich zur Wehr, dann wird man durch die mittleren Rangträger abgemahnt?
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Probleme mit "Application.OnTime"

Beitrag von Karolus »

Jonny1 hat geschrieben:Hochrangige dürfen sich den arroganten Ton leisten, setzt man sich endlich zur Wehr, dann wird man durch die mittleren Rangträger abgemahnt?
@Jonny
Ist alles in Ordnung bei dir ?
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: Probleme mit "Application.OnTime"

Beitrag von Jonny1 »

Bei mir ja. Wie ist es mit dir und mit deinen Freunden?
Antworten