Abarbeiten von Funktionern in Codeblöcken

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

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:

Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Ich steh gerade in einem Projekt eines Kunden vor einem Problem, bei dem ich nicht wirklich weiter weiß. Es gibt dort Codeblöcke, die eine Reihe von Funktionen beinhalten. Etwa in der Art:
  • Disable Menü
  • Räume Bildschirm auf
  • Funktion aufrufen
  • Enable Menü
  • Bildschirm aufräumen
Das wird auch alles sauber abgearbeitet. Aber ohne Pause. Ich hätte erwartet, das nach dem Funktionsaufruf das Programm so lange in der Funktion bleibt, bis die Funktion auf ein Return stößt. Und dann den nächsten Punkt im Codeblock startet. Das passiert aber nur dann, wennn ich in die Funktion eine Eventschleife einbaue. Nach meinem Verständnis sollte es je Thread aber nur eine Schleife geben.

Was verstehe oder mache ich da falsch?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von georg »

Hallo, Jan -


wie werden die Codeblöcke gestartet? Eventuell in einem eigenen Thread? Und: könntest Du ein klein wenig Code beisteuern?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Hallo Georg,

das sind die Codeblöcke im Menü-Aufruf. Und viel Code gibt es da nicht - es sind halt Codfeblöcke mit 5 Funktionsaufrufen drin. Disablen, leeren, Funktion, leeren, enablen. Das wars.

Code: Alles auswählen

oMenu:addtextItem(aMenu[i][5], , , &("{|| DisableAlle(), DelChildList(), " + aMenu[i][7] + ", DelChildList(), EnableAlle()}"))
aMenu ist ein Array mit allen Einträgen in dem Array. In Element 5 steht die Caption als String, in Element 7 die Funktion als String.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

Ich weiß nicht ob ich dich richtig verstanden habe, ICH würde erwarten, dass der eine Codeblock Funktion für Funktion durchlaufen wird bis ans Ende.
ABER debuggen geht so nicht, daher rufe ich eine Methode / Funktion auf, und dort setze ich dann alle gewünschten Funktionen rein.
Gruß
Hubert
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Hallo Hubert,

das Problem ist, das alle fünf Funktionen der Reihe nach abgearbeitet werden. Ohne Pause. Soll sagen: Das, was man in der 3. Funktion eigentlich machen möchte (Dialoge abarbeiten, Daten erfassen, was auch immer) geht nicht. Weil eben direkt auf das leeren und Menü enablen weitergesprungen wird.

Das läßt sich nur verhindern durch eine Event-Schleife in der entsprechenden Funktion. Dann kann man so arbeiten wie es sein sollte. Aber eine Eventschleife je Funktion? Das ist meines Wissens nicht die korrekte Art der Programmierung. Oder vertue ich mich da?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Wolfgang Ciriack »

Ist meines Erachtens korrekt so. In jedem Menüpunkt wird eine Funktion aufgerufen, in der dann die Events des Dialoges gelten. Nach Rückkehr aus der Menüfunktion werden die Funktionen 4 und 5 ausgeführt. Du kannst natürlich auch in der Menüfunktion einen neuen Thread starten, um dann schneller und parallel den nächsten Menüpunkt zu starten. Je nachdem, wie man es braucht.
Viele Grüße
Wolfgang
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Hallo Wolfgang,

es wurde aber schon mehrfach hier im Forum erwähnt, das normlerweise immer nur eine Eventscheife je Thread eingesetzt werden sollte. Das klappt dann aber nicht. Was versteh ich da falsch?

Ich muß dazu sagen daß das Neuland für mich ist. Ich arbeite in meinen eigenen Projekten wirklich mit Threads je Menüfunktion. Und da ist es dann normal, das überalll Eventschleifen eingebaut sind.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von georg »

Hallo, Jan -


so ganz verstehe ich noch nicht, was da abgeht. Aber wenn Du versuchsweise mal einen dieser Code-Blocks in eine Funktion umwandelst und das Verhalten dann überprüfst? Eventuell kommt dann Licht in die Sache rein.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

Hallo Jan,

selbstverständlich wird alles sofort abgearbeitet ;-)

Einstellungen die für ein Fenster gelten sollen (sowas habe ich nicht) müssen in INIT oder besser CREATE des Fensters ein und in QUIT ausgeschaltet werden.

Was machst du aber mit anderen Fenstern ?
Gruß
Hubert
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Moin Hubert,

welche anderen Fenster?

Und welche Einstellungen meinst Du? Ich möchte einfach nur, das die Funktionen im Codeblock einer nach dem Anderen abgearbeitet werden, und nicht eine gestartet wird bevor die andere abgeschlossen ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

Die Funtionen werden auf jeden Fall NACHEINANDER abgearbeitet.
Offensichtlich wird aber eine der Funktionen schneller beendet als du es erwartest ;-)

... daher vermute ich (und von der Namensgebung im Menü), dass du
1. Im Menü einige Änderungen vornimmst,
2. Ein Fenster anzeigst und ...
3. Nach dem Ende des Fensters, die nachfolgenden Funktionen ausgeführt werden.

aber die Funktion die ein Fenster anzeigt, ist normalerweise nicht blockierend und somit sofort wieder beendet (sonst wäre das Programm selbst blockiert).
Daher mußt du die "zu früh" erledigten Funktionen in den Close-Event verschieben.
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Herbert »

Jan, nimm doch alles in eine eigene Prozedur hinein und arbeite dort alles ab.

Für so was braucht es keinen eingenen Thread....
mir ist nicht klar, warum ihr so viel mit diesen Dingern rumspielt. Windows erledigt schon viel selber richtig(er).
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

Herbert hat geschrieben:Für so was braucht es keinen eingenen Thread....
mir ist nicht klar, warum ihr so viel mit diesen Dingern rumspielt. Windows erledigt schon viel selber richtig(er).
er hat ja keinen eigenen Thread ;-)
Wobei Windows innerhalb einer EXE ohne Threads eben nichts gleichzeitig machen kann, das ist aber ein anderers Thema.

@ JAN,

zeig doch mal den rudimentären Code der nicht wartenden Funktion ...
Gruß
Hubert
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Wolfgang Ciriack »

Code: Alles auswählen

Für so was braucht es keinen eingenen Thread....
mir ist nicht klar, warum ihr so viel mit diesen Dingern rumspielt. Windows erledigt schon viel selber richtig(er).
Wo ist denn bei Jans Beispiel ein eigener Thread ?
Procedual gesehen werden doch die Funktionen

Code: Alles auswählen

DisableAlle()
DelChildList()
MenuFunktion1()
DelChildList()
EnableAlle()
nacheinander ausgeführt. Wenn in MenuFunktion1() jetzt ein Dialogfenster aufgebaut wird, was auch die Events des Dialoges behandelt,
so kann man doch erst wieder einen anderen Menüpunkt ausführen, wenn MenuFunktion1() beendet ist, oder ?
Dieses Verhalten könnte man dann nur ändern, wenn in MenuFunktion1() ein neuer Thread gestartet wird und damit MenuFunktion1() sofort nach Starten des Threads beendet wird. Oder habe ich hier was gänzlich falsch verstanden ?
Viele Grüße
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

Wolfgang Ciriack hat geschrieben:Wenn in MenuFunktion1() jetzt ein Dialogfenster aufgebaut wird, was auch die Events des Dialoges behandelt,
so kann man doch erst wieder einen anderen Menüpunkt ausführen, wenn MenuFunktion1() beendet ist, oder ?
MenuFunktion1() wird laut der Beschreibung von JAN entgegen seinen Erwartungen eben gleich beendet und das ist für ein Fenster völlig normal solange man :show() und nicht :showModal() aufruft bzw. eine eigene Warteschleife baut (bei Auswahlfenster mache ich das um MODAL zu erzwingen, was früher ja nicht so einfach war).
Gruß
Hubert
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Hallo,

danke für die ausgiebige Diskussion.

Aber vielleicht sollte ich einen Punkt noch mal klarer hervorheben: Es stimmt, das alle fünf Funktionen nacheinander einfach abgearbeitet werden, ohne auf den Abschluß der vorigen zu warten. Ob jetzt die eigentliche Funktion, um die es geht, also die mittlere, sauber beendet wird kann ich spontan garnicht sagen (ich sitze gerade bei einem Kunden und kann auf den Code nicht zugreifen).

Wenn ich die beiden letzten Funktionen, das Aufräumen sozusagen, weglasse, dann kann ich den Dialog der 3. Funktion sauber abarbeiten. Ich komme nur nicht mehr in das Menü, weil das ja komplett disabled ist.

Ich nehme also an, das die dritte Funktion ansich weiter läuft, aber der Bildschirm von der vierten Funktion leergefegt wird. Da werden alle XBParts weggeräumt, damit der Bildschirm wieder leer ist. Das leerfegen ist ansich ja auch gewünscht. Aber doch erst, wenn der Dialog aus der dritten Funktion vom User sauber beendet wurde.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Herbert »

Jan hat geschrieben:Hallo Wolfgang,

es wurde aber schon mehrfach hier im Forum erwähnt, das normlerweise immer nur eine Eventscheife je Thread eingesetzt werden sollte. Das klappt dann aber nicht. Was versteh ich da falsch?

Ich muß dazu sagen daß das Neuland für mich ist. Ich arbeite in meinen eigenen Projekten wirklich mit Threads je Menüfunktion. Und da ist es dann normal, das überalll Eventschleifen eingebaut sind.

Jan
Hubert und Wolfgang: Das hatte doch Jan geschrieben...
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

@Herbert,

das kann man so verstehen, aber auch, dass er das zwar normalerweise so macht, aber in dem Fall eben nicht.
Wie auch immer, ohne code keine Hilfe möglich !

@JAN,

du schreibst doch selbst, dass alle Funktionen abgearbeitet werden, dann MUSS jede davor beendet worden sein !


Am besten baust du MSGBOX()en zum Testen ein und zeig endlich den Code ;-)

... OK ... ich mach mal ein Beispiel, damit KLAR WIRD, dass der Codeblock nacheinander die Funktionen aufruft/abarbeitet und nicht gleichzeitig !

TEST.PRG

Code: Alles auswählen

 eval({ || msgbox("Test1"),msgbox("Test2"),msgbox("Test3"),msgbox("Test4"),msgbox("Test5")})
Ergebnis
Test1 click
Test2 click
Test3 click
Test4 click
Test5 click

wie von mir vorausgesagt :wink:
Gruß
Hubert
Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 205
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig
Danksagung erhalten: 11 Mal

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Sören »

Hallo Jan,

baue doch bitte mal probehalber nach der der Funktion DelChildList()
die Funktion ForceEventloop() (siehe unten) in den Codeblock ein.

Damit erzwingst Du das Abarbeiten aller ausstehenden Ereignisse, bevor
die nächste Funktion ausgeführt wird.

Code: Alles auswählen

// - alle noch anstehenden Ereignisse nacheinander abarbeiten
// - Rueckgabe: 2-dim. Array aEvents, dass alle abgearbeiteten Ereignisse inkl. Ereignis-Parameter
//   enthaelt aEvents --> { { nEvent, mp1, mp2, oXbp }, ... }
FUNCTION ForceEventLoop()

  LOCAL nEvent, mp1, mp2, oXbp
  LOCAL aEvents := {}

  while NextAppEvent() != xbe_None
    nEvent := AppEvent( @mp1, @mp2, @oXbp )
    oXbp:handleEvent( nEvent, mp1, mp2 )
    AAdd( aEvents, { nEvent, mp1, mp2, oXbp } )
  enddo

RETURN aEvents
Beste Grüße,
Sören
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Hubert,

ich kann Dir keine Code geben weil ich gerade bei einem Kunden sitze. Hatte ich glaube ich oben auch erwähnt.

Und kann es sein das eine MsgBox() eine eigene Eventschleife hat? Wie ich egschrieben habe klappt das im COde meines Kunden, wenn ich die in die dritte Funktion eine Event-Schleife einbaue. Ohne die aber nicht. Und wie Herbert ganz richtig schrieb: In meinen eigenen Projekten arbeite ich mit Threads für jede Funktion, habe also auch stapelweise Event-Schleifen. In diesem Kundenprojekt gibt es aber nur den einen Thread, in dem alles passiert. Also nach meinem (theoretischen) Kenntnisstand sollte es auch nur eine Event-Schleife geben. Aber leider funktionieren die Codeblöcke nicht, wenn es nur die eine gibt ...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Hallo Sören,

guter Tipp. Dann müte mein Kunde nicht in jede aufgerufene Funktion eine eigene Eventschleife einbauen.

Das ändert dann aber nichts daran, das doch wieder mehr als nur eine Eventschleife im Programm ist. Was aber, wie ich oben schon mehrfach anmerkte, nach meinem Wissensstand eher vermieden werden sollte.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

JAN bezweifelt die TATSACHE, dass in einem Codeblock IMMER eine Funktion NACH DER ANDEREN abgearbeitet wird.
Solange er das nicht einsieht, ist er nicht bereit in seinen Funktionen nachzusehen wo diese beendet werden, ohne dass er damit rechnet 8)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abarbeiten von Funktionern in Codeblöcken

Beitrag von brandelh »

Jan hat geschrieben:Dann müte mein Kunde nicht in jede aufgerufene Funktion eine eigene Eventschleife einbauen.
Das ändert dann aber nichts daran, das doch wieder mehr als nur eine Eventschleife im Programm ist.
Was aber, wie ich oben schon mehrfach anmerkte, nach meinem Wissensstand eher vermieden werden sollte.
Eine reicht völlig, solange man einen Thread hat und nicht ein MODALES Fenster nach alter Bauart erzwingen will.
Wenn aber das Fenster nicht modal ist, erfolgt die Rückgabe der aufrufenden Funktion direkt nach :create() ...

Zeige doch einfach den aufrufenden Code !
Gruß
Hubert
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

Hubert,

worauf genau möchtest Du mit der Aussage hinaus?

Ich habe nie behauptet das nicht eine Funktion nach der anderen abgearbeitet wird. Klar werden die das. Aber es wird nicht auf das korrekte Ende der vorigen Funktion gewartet. Ich habe das im Debugger gesehen. Der Code baut den Dialog aus Funktion drei ganz korrekt auf, den kann ich auch auf dem Bildschirm sehen, und dann geht der Code sofort weiter auf das Löschen der XBParts. So einfach ist das.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: Abarbeiten von Funktionern in Codeblöcken

Beitrag von Jan »

brandelh hat geschrieben:Zeige doch einfach den aufrufenden Code !
Ich gebs auf :?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten