Seite 1 von 1

Verfasst: 20.02.2007 08:17
von #NULL
wenn du ForEach benutzt, kannst du das ResetList() auch weg lassen :wink:

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...
:lol: Lattenzaun

Ich frag mich sowieso wann man den "Lattenzaun" benötigt und wann nicht. :freak: 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 :lol:

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!