Funktion abbrechen
Moderator: Moderatoren
Funktion abbrechen
Hi,
also ich habe eine Funktion erstellt, die eine Verbindung zu einer Datenbank aufbaut. (dBase/ HSQLDB)
Um einen "gleichzeitigen" Zugriff aus diese Datenbank im Netzwerk zu verhindern, habe ich einfach einen Dialog (nur eine Statusbar mit bitte warten) erstellt, der erscheint, wenn die Datenbank "gelockt" ist und in einer Endlosschleife läuft (do while fileexist(datenbankname.odb.lck)) .
N un würde ich gerne eine Abbrechenschaltfläche in diesem Dialog erstellen. Das Problem ist, daß das Makro, welches auf diese Funktion zugreift, anscheinend weiterläuft, wenn ich die Funktion abbreche.
Ich möchte aber, daß beim klick auf die Schaltfläche alle Makros Beendet werden.
LG
Andreas
also ich habe eine Funktion erstellt, die eine Verbindung zu einer Datenbank aufbaut. (dBase/ HSQLDB)
Um einen "gleichzeitigen" Zugriff aus diese Datenbank im Netzwerk zu verhindern, habe ich einfach einen Dialog (nur eine Statusbar mit bitte warten) erstellt, der erscheint, wenn die Datenbank "gelockt" ist und in einer Endlosschleife läuft (do while fileexist(datenbankname.odb.lck)) .
N un würde ich gerne eine Abbrechenschaltfläche in diesem Dialog erstellen. Das Problem ist, daß das Makro, welches auf diese Funktion zugreift, anscheinend weiterläuft, wenn ich die Funktion abbreche.
Ich möchte aber, daß beim klick auf die Schaltfläche alle Makros Beendet werden.
LG
Andreas
Re: Funktion abbrechen
Hallo Andreas,
ich meine das mal so gelöst zu haben.
Erstelle eine Sub für das Abbrechen
Über Deiner Schleife schreibst Du
In Deine Schleife baust Du dann folgendes ein:
Die "Sub Abbrechen" legst Du dann auf eine Schaltfläche.
Ich hoffe das hilft.
Jürgen
ich meine das mal so gelöst zu haben.
Erstelle eine Sub für das Abbrechen
Code: Alles auswählen
Sub Abbrechen
Abbruch = 1
End Sub
Code: Alles auswählen
Abbruch = 0
Code: Alles auswählen
If Abbruch = 1 then
msgbox "Abbruch durch Benutzer"
Exit Sub
End if
Ich hoffe das hilft.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Funktion abbrechen
Hi Jürgen,
hab ich irgendwie schon probiert,
daß Problem ist, ich rufe eine Funktion durch eine Sub auf, diese durchläuft die Schleife und solange die Datenbank nicht geschlossen ist, funktioniert meine Schaltfläche nicht (übrigens auch das "X" nicht, zum Schliessen des Dialoges (?)
LG
Andreas
hab ich irgendwie schon probiert,
daß Problem ist, ich rufe eine Funktion durch eine Sub auf, diese durchläuft die Schleife und solange die Datenbank nicht geschlossen ist, funktioniert meine Schaltfläche nicht (übrigens auch das "X" nicht, zum Schliessen des Dialoges (?)
LG
Andreas
Re: Funktion abbrechen
Hallo Andreas,
in Deiner Schleife rast Du mit Höchstgeschwindigkeit vom Anfang zum Ende zum Anfang...... (ich würde vermuten, daß die Przessorauslastung das auch ausweist)
Ohne es getestet zu haben, gehe ich davon aus, daß Du der Anwendung schlicht keine Zeit gibst, was anderes zu tun.
Bau doch einfach mal ein Wait 100 ein. Das unterbricht die Schleife kurz reicht aber trotzdem vollkommen aus, auf auf Den Abbruchbutton zu reagieren.
Schließlich ist es ohnehin unsinnig, im millisekundenbereich die fileexist-Abfrage durchzuführen.
Gruß und viel Erfolg
eBayer
in Deiner Schleife rast Du mit Höchstgeschwindigkeit vom Anfang zum Ende zum Anfang...... (ich würde vermuten, daß die Przessorauslastung das auch ausweist)
Ohne es getestet zu haben, gehe ich davon aus, daß Du der Anwendung schlicht keine Zeit gibst, was anderes zu tun.
Bau doch einfach mal ein Wait 100 ein. Das unterbricht die Schleife kurz reicht aber trotzdem vollkommen aus, auf auf Den Abbruchbutton zu reagieren.
Schließlich ist es ohnehin unsinnig, im millisekundenbereich die fileexist-Abfrage durchzuführen.
Gruß und viel Erfolg
eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Funktion abbrechen
hab ich , sogar 500 (muß ja Zeit haben, daß .lck zu löschen, das Betriebssystem)eBayer hat geschrieben:Hallo Andreas,
in Deiner Schleife rast Du mit Höchstgeschwindigkeit vom Anfang zum Ende zum Anfang...... (ich würde vermuten, daß die Przessorauslastung das auch ausweist)
Ohne es getestet zu haben, gehe ich davon aus, daß Du der Anwendung schlicht keine Zeit gibst, was anderes zu tun.
Bau doch einfach mal ein Wait 100 ein. Das unterbricht die Schleife kurz reicht aber trotzdem vollkommen aus, auf auf Den Abbruchbutton zu reagieren.
Schließlich ist es ohnehin unsinnig, im millisekundenbereich die fileexist-Abfrage durchzuführen.
Gruß und viel Erfolg
eBayer

Ausserdem sieht man sonst den hübschen Fortschrittsbalken nicht so toll

Code: Alles auswählen
function getConnection
DIm sUrl as string
Dim a as integer
Dim b as integer
GlobalScope.BasicLibraries.LoadLibrary("Tools")
Dialoglibraries.Loadlibrary("Standard")
WarteDlg = CreateUnoDialog(Dialoglibraries.Standard.Dialog1)
WarteControl = WarteDlg.getControl("ProgressBar1")
sUrl = "L:\MeineDatenBank.odb.lck"
sUrl = ConvertToUrl(sUrl)
WarteControl.model.progressvaluemax = 40
'Do while Fileexists(sUrl)
' WarteDlg.visible = true
' If b = 0 then
' a = a +1
' else
' a = a -1
' End If
'WarteControl.value = a
'If a = 40 then b = 1
'If a = 0 then b = 0
'wait 500
'loop
WarteDlg.visible = false
oDatabaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDatasource = oDatabaseContext.getbyname("file:///L:/MeineDatenbank.odb")
oConnection = oDatasource.getConnection("","")
oVerbindung = oConnection
End Function
LG
Andreas ( die Warteschleife ist ausgeREMT, weil ich sie auf einem Einzelplatz nicht brauche)
Re: Funktion abbrechen
und trotzdem das Problem?
Das würde den Schuß nahelegen, daß Dein Fortschrittsbalken, der ja in einem eigenen Dialog läuft, Deine Interaktion verhindert.
Der Dialog ist ja modal und läßt keinen Zugriff außerhalb des eigenen Dialogs zu.
Lösung könnte sein, den Dialog des Fortschrittsbalkens mit einem Abbruchbutton auszustatten.
Viel Erfolg
eBayer
Das würde den Schuß nahelegen, daß Dein Fortschrittsbalken, der ja in einem eigenen Dialog läuft, Deine Interaktion verhindert.
Der Dialog ist ja modal und läßt keinen Zugriff außerhalb des eigenen Dialogs zu.
Lösung könnte sein, den Dialog des Fortschrittsbalkens mit einem Abbruchbutton auszustatten.
Viel Erfolg
eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Funktion abbrechen
hab ich gemacht, der bekommt auch den Focus, aber das wars dann auch.(allerdings als Standard-Schaltfläche, nicht als direkten abbrechen-Button)eBayer hat geschrieben:und trotzdem das Problem?
Das würde den Schuß nahelegen, daß Dein Fortschrittsbalken, der ja in einem eigenen Dialog läuft, Deine Interaktion verhindert.
Der Dialog ist ja modal und läßt keinen Zugriff außerhalb des eigenen Dialogs zu.
Lösung könnte sein, den Dialog des Fortschrittsbalkens mit einem Abbruchbutton auszustatten.
Viel Erfolg
eBayer
eine Alternative wäre nun, den Dialog samt Makro und Dokument komplett zu schliessen, aber nicht die evtl anderen geöffneten Dateien.
Nur wie anfangen ?
Bei Nichterfolg muß ich mir halt was anderes einfallen lassen, um einen "simulierten" Mehrbenutzer-Zugriff auf dBase zu ermöglichen.
LG
Andreas
Re: Funktion abbrechen
Hallo Andreas,
schau Dir mal das beiliegende Testprogramm an..... dachte ich, aber leider ist mein Kontingent offensichtlich erschöpft.
Wohin soll ich die Datei mailen?
Einfach ZIP-Datei entpacken, dann LibraryProgress.oxt per Doppelklick einbinden und das Programm aufrufen.
Im Progressbar ist ein Abbruch-Button.........
Das gesamte Coding befindet sich in der Library.
Gruß eBayer
schau Dir mal das beiliegende Testprogramm an..... dachte ich, aber leider ist mein Kontingent offensichtlich erschöpft.
Wohin soll ich die Datei mailen?
Einfach ZIP-Datei entpacken, dann LibraryProgress.oxt per Doppelklick einbinden und das Programm aufrufen.
Im Progressbar ist ein Abbruch-Button.........
Das gesamte Coding befindet sich in der Library.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Funktion abbrechen
Hi,
Bin mir echt am überlegen, ob ich aussteigen soll, wenn man in seiner "Arbeit" jetzt so eingeschränkt wird.
Bis das die Sache geklärt ist habe ich mir nen Filehoster gesucht, bei dem man ohne weitere Angaben Dateien zum Download hosten kann.
Jürgen
Habe ich gestern auch schon mit grossem Entsetzen festgestellt. Möchte mal gerne wissen was das soll.eBayer hat geschrieben:aber leider ist mein Kontingent offensichtlich erschöpft
Bin mir echt am überlegen, ob ich aussteigen soll, wenn man in seiner "Arbeit" jetzt so eingeschränkt wird.
Bis das die Sache geklärt ist habe ich mir nen Filehoster gesucht, bei dem man ohne weitere Angaben Dateien zum Download hosten kann.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Funktion abbrechen
naja, wir werden nur in unserem "Hobby" eingeschränkt 
nichts desto trotz, ich habe erst 2 oder 3 files gehosted und darf trotzdem nimmer
also haben wir das gleiche Problem.
nicht schön, aber ein Admin wird sich bestimmt äussern.
Bleibt wohl nur die Alternative über eMail und Files schicken :/
Aber irgendwie möchten wir das wohl alle nicht, vor allem, da andere User daran nicht teilhaben können
LG
Andreas

nichts desto trotz, ich habe erst 2 oder 3 files gehosted und darf trotzdem nimmer

also haben wir das gleiche Problem.
nicht schön, aber ein Admin wird sich bestimmt äussern.
Bleibt wohl nur die Alternative über eMail und Files schicken :/
Aber irgendwie möchten wir das wohl alle nicht, vor allem, da andere User daran nicht teilhaben können
LG
Andreas
Re: Funktion abbrechen
ok, besser ausgedrückt.keksi1970 hat geschrieben:naja, wir werden nur in unserem "Hobby" eingeschränkt
Naja, bei mir sind es 157. Da hätte ich das noch nachvollziehen können.keksi1970 hat geschrieben:nichts desto trotz, ich habe erst 2 oder 3 files gehosted und darf trotzdem nimmer
Deshalb externer Filehoster.keksi1970 hat geschrieben:Bleibt wohl nur die Alternative über eMail und Files schicken :/
Aber irgendwie möchten wir das wohl alle nicht, vor allem, da andere User daran nicht teilhaben können
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Funktion abbrechen
Ok, versucht es mal hier, die Datei herunterzuladen.
http://www.imagenetz.de/f009e58a0/LibraryProgress.zip
http://www.imagenetz.de/f009e58a0/LibraryProgress.zip
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008