Manfred,
zeige doch mal bitte exemplarisch von einer solchen Funktion, die Probleme macht, den Bereich ab der END SEQUENCE bis zum RETURN - dazwischen müssten ja dann die ganzen NILerein stehen.
Viele Grüße,
Martin
Parameter verschwinden in Function [ERLEDIGT]
Moderator: Moderatoren
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Parameter verschwinden in Function
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
Re: Parameter verschwinden in Function
Martin,
die Funktion, die Probleme macht, hat keine Parameterdaten erhalten. Mehr ist es nicht. Das womit ich den Thread eröffnet habe hier. Der Cursor steht vor der Funktion und alles ist noch OK, dann wird die Funktion aufgerufen und nichts ist mehr da. Aber wie gesagt, ich bin dabei die Quellcodes rückwirkend nachzustellen um zu sehen, ab wann es passiert ist.
die Funktion, die Probleme macht, hat keine Parameterdaten erhalten. Mehr ist es nicht. Das womit ich den Thread eröffnet habe hier. Der Cursor steht vor der Funktion und alles ist noch OK, dann wird die Funktion aufgerufen und nichts ist mehr da. Aber wie gesagt, ich bin dabei die Quellcodes rückwirkend nachzustellen um zu sehen, ab wann es passiert ist.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
Re: Parameter verschwinden in Function
Das Thema ist noch nicht vom Tisch...
ich habe mal einen Breakpoint gesetzt und immer wieder etwas geartet, bzw. fortgesetzt.
trotzdem gibt es einen Programmabbruch
obwohl die Handles jetzt wohl wesentlich weniger sind als bei einem unterbrechungsfreien Durchlauf. Ich kann der Sache nicht folgen, was da abgeht.
ich habe mal einen Breakpoint gesetzt und immer wieder etwas geartet, bzw. fortgesetzt.
trotzdem gibt es einen Programmabbruch
obwohl die Handles jetzt wohl wesentlich weniger sind als bei einem unterbrechungsfreien Durchlauf. Ich kann der Sache nicht folgen, was da abgeht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
Re: Parameter verschwinden in Function
ich bin total sprachlos
Wenn ich den Filter oben entferne, dann läuft alles ohne Probleme und die Handles halten sich im zivilen Bereich. Sorry, aber ich verstehe das nicht und sehe auch nichts mehr.
Lasse ich den Filter drin und nehme das Dbeval raus, knallt es trotzdem . Also muß es irgendwie an dem Filter liegen.
Code: Alles auswählen
FUNCTION mwst_jsal_aktualisiere( x_tg , x_jjjj ) // gesichtet 20.03.2014
LOCAL ar_mwst := {}
LOCAL ar_bst := {}
LOCAL ar_feh := {}
LOCAL su := 0
LOCAL xx // M.K. 24.04.2013
MEMVAR oVtPara
DEFAULT x_tg TO oVtPara:m_mtg_nr
DEFAULT x_jjjj TO oVtPara:m_mtg_jahr
BEGIN SEQUENCE
nim_jo( "S" , 0 , 1 , "JO" )
jo->(DbSetFilter({|| jo->jjjj = x_jjjj},"jo->jjjj = x_jjjj"))
jo->(DbEval({||su := ascan( ar_bst , jo->gruppe + jo->konto ), IF( su = 0 ,LADE_JOF(ar_bst,ar_mwst) , ADD_JOF(ar_mwst,su))}))
JO->(DbCloseArea())
nim_fib( "s" , 0 , 1 , "FIB" )
//*********************** siehe Erklärung unten ************************************************************************
fib->(DbSetFilter( {|| fib->sel1 = "BUC" .AND. SubStr(fib->nr_buc,1,2) = SubStr(x_jjjj,3,2)},"fib->sel1 = 'BUC' .AND. SubStr(fib->nr_buc,1,2) = SubStr(x_jjjj,3,2)"))
//*****************************************************************************************************************
fib->(DbEval({||su := AScan(ar_bst, fib->gruppe + fib->konto), IF( su = 0 ,LADE_FIBF(ar_bst,ar_mwst) , ADD_FIBF(ar_mwst,su))}))
FIB->(DbCloseArea())
nim_vo( "S" , 0 , 1 , "VO" )
vo->(DbSetFilter({|| vo->jjjj = x_jjjj},"vo->jjjj = x_jjjj"))
vo->(DbEval({||su := AScan(ar_bst, vo->gruppe + vo->konto ),IF( su = 0 ,LADE_VOF(ar_bst,ar_mwst) , ADD_VOF(ar_mwst,su))}))
VO->(DbCloseArea())
nim_sal( "S" , 0 , 1 , "JSAL" )
jsal->(DbEval({||su := AScan( ar_bst, jsal->gruppe + jsal->konto ),;
IF( su > 0 ,Eval({||net_rlo(),JSAL->b_mwst := ar_mwst[su,1] ,;
JSAL->k_mwst := ar_mwst[su,2] ,;
JSAL->o_mwst := ar_mwst[su,3] ,;
JSAL->v_mwst := ar_mwst[su,5] ,;
jsal->(DbUnlock());
};
),;
);
};
);
)
**** Kontrolle Kasse
AEval( ar_mwst , {|a,xi|xx := xi, ar_mwst[xi,10] := ar_mwst[xi,2] - ar_mwst[xi,4],;
IF( Round(ar_mwst[xi,4],2) # Round(ar_mwst[xi,2],2) ,;
Eval({|| AAdd(ar_feh,"FEHLER KASSE bei :: " + oVtPara:m_mtg_nr + " : " + oVtPara:m_mtg_jahr + " :: in :: "+ ar_bst[xx] ),;
AAdd(ar_feh," :: in JO : " + Str(ar_mwst[xx, 2],10,2)) ,;
AAdd(ar_feh," :: in FiBu : " + Str(ar_mwst[xx, 4],10,2)) ,;
AAdd(ar_feh," :: Diff. : " + Str(ar_mwst[xx,10],10,2)) ,;
AAdd(ar_feh," ");
};
),NIL;
);
};
)
IF len(ar_feh) > 0
sic_in_datei( ar_feh ) // lass stehen
ENDIF
JSAL->(DbCloseArea())
END SEQUENCE
ASize( ar_mwst , 0 )
ASize( ar_bst , 0 )
ASize( ar_feh , 0 )
su := NIL
xx := NIL
RETURN NIL
Lasse ich den Filter drin und nehme das Dbeval raus, knallt es trotzdem . Also muß es irgendwie an dem Filter liegen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
Re: Parameter verschwinden in Function
Das hier klappt
muß ich nicht verstehen, wil ich jetzt auch nicht mehr verstehen. Irgendwann mal im nächsten Leben vielleicht.
Dank an Jan für den kurzen Schlag auf den Hinterkopf.
Code: Alles auswählen
nim_fib( "s" , 0 , 1 , "FIB" )
fib->(DbGoTop())
DO WHILE ! fib->(Eof())
IF fib->sel1 = "BUC" .AND. SubStr(fib->nr_buc,1,2) = SubStr(x_jjjj,3,2)
su := AScan(ar_bst, fib->gruppe + fib->konto)
IF su = 0
LADE_FIBF(ar_bst,ar_mwst)
ELSE
ADD_FIBF(ar_mwst,su)
ENDIF
ENDIF
fib->(DbSkip())
ENDDO
// fib->(DbSetFilter( {|| fib->sel1 = "BUC" .AND. SubStr(fib->nr_buc,1,2) = SubStr(x_jjjj,3,2)},"fib->sel1 = 'BUC' .AND. SubStr(fib->nr_buc,1,2) = SubStr(x_jjjj,3,2)"))
// fib->(DbEval({||su := AScan(ar_bst, fib->gruppe + fib->konto), IF( su = 0 ,LADE_FIBF(ar_bst,ar_mwst) , ADD_FIBF(ar_mwst,su))}))
FIB->(DbCloseArea())
Dank an Jan für den kurzen Schlag auf den Hinterkopf.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Parameter verschwinden in Function
Bei dbEval() sollte man eh den FOR Block statt einem Filter nutzen,
aber von der Übersichtlichkeit ist dieser Aufbau vorzuziehen.
Er könnte sogar deutlich schneller als vorher sein, da der Filter weg ist.
aber von der Übersichtlichkeit ist dieser Aufbau vorzuziehen.
Er könnte sogar deutlich schneller als vorher sein, da der Filter weg ist.
Gruß
Hubert
Hubert