beim Coden benutze ich Macros, wirklich tolle Sache ! Eine Macro wird für 9 Panels und dazugehörige Tabellen öfter aufgerufen. (pro tabellenzeile 1x)
nach anlegen der 4. Tabelle im 4.Tab bekomme ich nun einen Fehler von Pure ! Es erscheint ein kleines Meldefenster ohne Inhalt und einen OK Button. Unten im Kommandofenster
steht [COMPILER] Assembler error! ???
Da ich mir nicht denken kann was das bedeutet habe ich die Aufrufe dieses Macros Stück für Stück zurückgenommen bis das Programm wieder ausgeführt wurde.
Wenn ich nun wieder einen Aufruf mehr dieses Macros einfüge bekomme ich wieder diese Meldung ????
Es stellt sich nun die Frage wie oft kann ich einen Macro aufrufen, bzw was habe ich übersehen oder an was könnte das liegen. Kann man einen Macro aus einem Macro heraus aufrufen.
OK sagt mir wenn Ihr noch infos braucht, ich bin Ratlos !
Danke an die, die an Weihnachtstagen vorm PC coden und mir evtl. helfen können.
Stephan
OK hier noch ein TeilCode zur Erklärung.
Dieser Macro wird von der Hauptroutine aufgerufen und Enthält ein Fenster mit einem Panel und neun Tab's. Pro Tab beinhaltet eine Liste (Listview)
Beim Klick auf einen Tab wird dieser mit der Entsprechenden Liste angezeigt, wobei beim Laden eben dieser weitere Macro mac_ma_planen für jede Zeile aufgerufen wird !
Also je nach Liste bis zu 70 mal.
Code: Alles auswählen
; ---------------------------------------
;-Krane 566
; ---------------------------------------
; Tabelleneinträge
AddGadgetItem(listnam,tare,"")
If datumanz = datum
SetGadgetItemColor(listnam,tare,#PB_Gadget_BackColor,$CAE3F3,-1)
;SetGadgetItemColor(listnam,tare,#PB_Gadget_FrontColor,$FFFFFF,-1)
EndIf
SetGadgetItemText(listnam,tare,"566",0)
SetGadgetItemText(listnam,tare,"41875",1)
SetGadgetItemText(listnam,tare,sctbs1 ,2)
SetGadgetItemText(listnam,tare,sctbs2 ,6)
SetGadgetItemText(listnam,tare,sctbs3 ,10)
SetGadgetItemText(listnam,tare,sctbs4 ,14)
SetGadgetItemColor(listnam,tare,#PB_Gadget_FrontColor,$C0621B,1)
;Schichtschriftanzeige Grau
SetGadgetItemColor(listnam,tare,#PB_Gadget_FrontColor,$2B60B0,2)
SetGadgetItemColor(listnam,tare,#PB_Gadget_FrontColor,$2B60B0,6)
SetGadgetItemColor(listnam,tare,#PB_Gadget_FrontColor,$2B60B0,10)
SetGadgetItemColor(listnam,tare,#PB_Gadget_FrontColor,$2B60B0,14)
; ---------------------------------------
; Fruhschicht
; ---------------------------------------
teatnr = "41875" ;Tätigkeitsnummer Arbeitsplatz
schicht = sctbs1 ;Schicht
feld1 = 3 ;Listenfeld laden
feld2 = 4
feld3 = 5
mac_ma_planen ;Macro für Arbeit Sozius Urlaub etc.
; ---------------------------------------
; Spatschicht
; ---------------------------------------
teatnr = "41875"
schicht = sctbs2
feld1 = 7
feld2 = 8
feld3 = 9
mac_ma_planen
; ---------------------------------------
; Nachtschicht
; ---------------------------------------
teatnr = "41875"
schicht = sctbs3
feld1 = 11
feld2 = 12
feld3 = 13
mac_ma_planen
; ---------------------------------------
; Freischicht
; ---------------------------------------
teatnr = "41875"
schicht = sctbs4
feld1 = 15
feld2 = 16
feld3 = 17
mac_ma_planen
;Nächste Zeile
tare = tare + 1
Code: Alles auswählen
Macro mac_ma_planen
re.l = 0 : res.l = 0
A_name.s = "" : A_log.l = 0 : A_kann.s = "" : AU.l = 0
S_name.s = "" : S_log.l = 0 : S_kann.s = "" : SU.l = 0
M_name.s = "" : M_log.l = 0 : M_kann.s = "" : MU.l = 0 : M_url.s
E_name.s = "" : E_log.l = 0 : E_kann.s = "" : EU.l = 0 : E_url.s
V_name.s = "" : V_log.l = 0 : V_kann.s = "" : MoFa.s = ""
;-Alleinfahrer
While re <= MAD
If mp(re)\ma_taetnr = teatnr And mp(re)\ma_schicht = schicht And mp(re)\ma_sozius = "A"
A_name = Left(mp(re)\ma_vorname,1)+". "+ mp(re)\ma_nachnam : A_log = 1 : A_kann = mp(re)\ma_koennen
res = re
EndIf
re = re + 1
Wend
fup = 0
While fup <= FDS
;Nachsehen wenn Alleinfahrer Urlaub hat
If mp(res)\ma_nr = fz(fup)\nr And fz(fup)\fehldat = datumanz And mp(res)\ma_schicht = schicht And mp(res)\ma_sozius = "A"
M_url = Left(mp(res)\ma_vorname,1)+". "+ mp(res)\ma_nachnam+" URLAUB"
AU = 1
EndIf
fup = fup + 1
Wend
;Nachsehen ob Alleinfahrer anders verplant
ra.l = 0
While ra <= MobDS
;Debug mob(ra)\mob_teat+" "+teatnr+" / "+mob(ra)\mob_schcht+" "+schicht+" / "+mob(ra)\mob_fahr+" E"
If mob(ra)\mob_idx = mp(res)\ma_nr
;Zählen der Tage
tage.l = 1 : tagzz.l = 0
While tage <= mob(ra)\mob_zahl
mobtag.l = mob(ra)\mob_vonparse + ((3600 * 24) * tagzz)
mobildatum.s = FormatDate("%dd.%mm.%yyyy", mobtag )
If mobildatum = datumanz
M_name = Left(mp(res)\ma_vorname,1)+". "+ mp(res)\ma_nachnam+" : "+mob(ra)\mob_platz+" "+mob(res)\mob_schcht+" "+mob(ra)\mob_kennr+" "+mob(ra)\mob_teat
MoFa = "A"
V_log = 1
EndIf
tagzz = tagzz + 1
tage = tage + 1
Wend
EndIf
ra = ra + 1
Wend
; ------------------------------------------------------------------------------------------------
;-
;-0000000000 Keiner Da
If A_log = 0 And S_log = 0 And M_log = 0 And E_log = 0 And V_log = 0 And AU = 0 And SU = 0 And MU = 0 And EU = 0
SetGadgetItemColor(listnam,tare,#PB_Gadget_BackColor,$070A8C,feld1)
;-1000000000 Alleinfahrer
ElseIf A_log = 1 And S_log = 0 And M_log = 0 And E_log = 0 And V_log = 0 And AU = 0 And SU = 0 And MU = 0 And EU = 0
SetGadgetItemText(listnam,tare,A_name,feld1)
If A_kann = "75%" : SetGadgetItemColor(listnam,tare,#PB_Gadget_BackColor,$68D468,feld2)
ElseIf A_kann = "100%" : SetGadgetItemColor(listnam,tare,#PB_Gadget_BackColor,$119311,feld2) : EndIf
;-1000000001 Alleinfahrer
ElseIf A_log = 1 And S_log = 0 And M_log = 0 And E_log = 0 And V_log = 0 And AU = 0 And SU = 0 And MU = 0 And EU = 1
SetGadgetItemText(listnam,tare,E_name,feld1) : SetGadgetItemColor(listnam,tare,#PB_Gadget_BackColor,$D6D6D6,feld1)
SetGadgetItemColor(listnam,tare,#PB_Gadget_BackColor,$0761CD,feld2)
läuft das Programm ohne Fehler ????