Seite 1 von 1
Verfasst: 20.02.2007 08:17
von #NULL
wenn du
ForEach benutzt, kannst du das
ResetList() auch weg lassen
bei macros mußt du auch beachten, das die variablen für die parameter ja nicht protectet werden oder dergleichen, weil ja kein neuer namensraum entsteht. du mußt also namenskonflikte vermeiden, indem du ausgefallene namen benutzt, zum beispiel
__item, statt
item.
Verfasst: 20.02.2007 10:16
von wasser
macros mit einer zeile bringen nichts sind, sind zeitfresser.
mfg
Verfasst: 20.02.2007 11:02
von Vallan
Stimmt nicht, z.b: ist
Code: Alles auswählen
Macro EroorRequester
Messagerequester("Error","Ein Fehler ist aufgetreten bitte benachtichtigen Sie den (...) unt tuen Sie das (....) und dies (...) ")
endmacro
Ist doch viel besser als 3 mal hinzuschreiben oder?
Verfasst: 20.02.2007 11:05
von DarkDragon
wasser hat geschrieben:macros mit einer zeile bringen nichts sind, sind zeitfresser.
mfg
Zeitfresser? Ich glaube du verstehst Makros garnicht.

Prozeduren werden aufgerufen, Makros nicht!
Verfasst: 20.02.2007 12:34
von Kaeru Gaman
hm... ein paar von den Macros oben sehen aber seltsam aus...
funktionieren die überhaupt?
ich mein, z.b.
Code: Alles auswählen
Macro CreateList(List, Struc)
Global NewList List.Struc()
Struc ist doch keine variable, sondern eine literaleinsetzung...
die muss doch von nem Lattenzaun gefolgt werden, oder?
Code: Alles auswählen
Macro CreateList(List, Struc)
Global NewList List.Struc#()
müsste das nicht so aussehen?
oder kann er das noch als standard-Parameter handlen...
Verfasst: 20.02.2007 12:42
von DarkDragon
Kaeru Gaman hat geschrieben:hm... ein paar von den Macros oben sehen aber seltsam aus...
funktionieren die überhaupt?
ich mein, z.b.
Code: Alles auswählen
Macro CreateList(List, Struc)
Global NewList List.Struc()
Struc ist doch keine variable, sondern eine literaleinsetzung...
die muss doch von nem
Lattenzaun gefolgt werden, oder?
Code: Alles auswählen
Macro CreateList(List, Struc)
Global NewList List.Struc#()
müsste das nicht so aussehen?
oder kann er das noch als standard-Parameter handlen...

Lattenzaun
Ich frag mich sowieso wann man den "Lattenzaun" benötigt und wann nicht.

Schon klar, wenn man 2 Wörter verbinden will, aber manchmal gehts mit, manchmal aber auch ohne.
Verfasst: 20.02.2007 15:34
von edel
Die Raute wird immer dann benoetigt , wenn, wie DD schon schrieb,
man das Wort erweitern moechte. Dabei zaehlen aber wohl nur die
gleichen Zeichen wie bei einer Variabel.
Code: Alles auswählen
Macro DQ
"
EndMacro
Macro CreateList(List, Struc)
Debug DQ Global NewList List.struc() DQ
EndMacro
Macro CreateList2(List, Struc)
Debug DQ Global NewList __#List#_.struc() DQ
EndMacro
CreateList(myList, LONG)
CreateList2(myList, LONG)
CreateList2 wird ohne Raute nicht gehen.
Verfasst: 20.02.2007 21:37
von Hyper
DarkDragon hat geschrieben:
------
wasser hat Folgendes geschrieben:
macros mit einer zeile bringen nichts sind, sind zeitfresser.
mfg
------
Zeitfresser? Ich glaube du verstehst Makros garnicht. Confused Prozeduren werden aufgerufen, Makros nicht!
Schon klar, das Macro wird ja beim kompilieren ersetzt. DENNOCH: ich habe bei einem Programm klar festgestellt, dass der Code mit Marco langsamer lief! Interessanterweise auch als kompilierte EXE. Ich habe das aber bis heute vor der ganzen Welt verschwiegen, weil es so unlogisch ist, dass es nicht sein kann, weils nicht sein darf.
Hat jemand ähnliche Erfahrungen gemacht?
PS: Bitte nicht nach dem Code fragen, weiß nicht mehr, wobei es war...
Verfasst: 20.02.2007 21:40
von ts-soft
Hyper hat geschrieben:ich habe bei einem Programm klar festgestellt, dass der Code mit Marco langsamer lief! Interessanterweise auch als kompilierte EXE.
Lass den Marco wieder aus der Exe, den brauchen wir noch

Verfasst: 21.02.2007 00:10
von Hyper
Hi ts-soft,
hab gerade auch schön gelacht! Interessante Vorstellung - ich kenne einige Marco's... Und die machen jetzt meine Exen langsam! Frechheit!