Endlosschleife verursacht bis zu 100% CPU-Auslastung

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

Moderator: Moderatoren

Markus M.
*
Beiträge: 10
Registriert: Mo, 18.12.2006 18:23

Endlosschleife verursacht bis zu 100% CPU-Auslastung

Beitrag von Markus M. »

Hallo,

Bin auf der Suche nach einer Alternative für meine Endlosschleife, denn ich hab so das Gefühl, das die Endlosschleife im Makro irgendwie meine CPU arg in Anspruch nimmt :wink:

Was will ich mit dem Makro erreichen?
- Es soll ein anderes Makro gestartet werden, wenn eine bestimmte Spalte erreicht wird

Hier zur Veranschaulichung meines Problems der Code:

Code: Alles auswählen

Sub warteschleife

Do Until abschluss = "nie"

'aktuelle Selektion ermitteln
odoc = thisComponent
aCell=odoc.getCurrentSelection().getCellAddress()
aColumn=aCell.column
aRow = aCell.Row

'Wenn eine bestimmmte Spalte aufgerufen wird,
'soll ein weiteres Makro gestartet werden
If aColumn = 12 Then
'das andere Makro starten
eintragen

wait(10)

nextRow = aRow + 1
	
'TextCursor neu ausrichten
mysheet=odoc.currentcontroller.activesheet
oZelle = mysheet.getCellByPosition(0,nextRow)
'aktuellen Cursor auf die o.a. Position setzen
 odoc.CurrentController.Select(oZelle)
End If  

Loop

End Sub
Gruss

Der Markus
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Markus,

also, Endlosschleifen sind immer ein Problem und sollten dringend vermieden werden.
Wenn ich dich richtig verstehen, soll ein Makro automatisch ausgeführt werden, wenn der Cellcursor auf eine spezielle Zelle trifft?
Eine Möglichkeit wäre, das durch ein "Event" abzufangen - Klick auf die Zelle - und dann deine Auswertung zu fahren. Ein solches "Event" würde zwar auch bei jedem Zellklick ausgeführt und die Performance der Anwendung ginge deutlich nach unten, wenn aber keine Aktion geschieht ist auch keine Belastung gegeben.
Es gab mal hier einen Thraed für "Event auf Zelle" oder so - nutz doch mal die Suchfunktion.

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten