Wenn ich innerhalb einer Routine API-Aufrufe mache, wie z.B.
SendMessage_(GadgetID(W03_Listicon_0), #LVM_SETCOLUMN,1,@Center)
SendMessage_(GadgetID(W03_Listicon_0), #LVM_SETCOLUMN,2,@Center)
SendMessage_(GadgetID(W03_Listicon_0), #LVM_SETCOLUMN,3,@Center)
SendMessage_(GadgetID(W03_Listicon_0), #LVM_SETCOLUMN,4,@Center)
um die Spalten eines Listicons zentriert anzuzeigen, kann ich die Varialbe @Center nicht deklarieren, da es sich offensichtlich um eine BS-Variable handelt.
Wenn ich dann aber wie gewohnt EnableExplicit nutze, um Übersicht über meine Variablen zu behalten, werden die o.g. Vars als nicht deklariert bemängelt. Es wäre schön, wenn ich die Pflicht zur Variablendeklaration auch in Prozeduren verwenden kann, die API-Aufrufe enthalten.
Gruß
BüNo
EnableExplicit
Re: EnableExplicit
Moin,
wo ist genau das Problem?
Außerhalb von Proceduren kann man folgendes schreiben:
In einer Procedure macht man es so:
Geht bei mir mit oder ohne EnableExplicit. Wobei EnableExplicit (eigentlich) immer verwendet werden sollte....
wo ist genau das Problem?
Außerhalb von Proceduren kann man folgendes schreiben:
Code: Alles auswählen
Define Center.LVCOLUMN ; or Global Center.LVCOLUMN
Center\mask = #LVCF_FMT
Center\fmt = #LVCFMT_CENTER
Code: Alles auswählen
Procedure SetGadgetColumnsCentered(Gadget)
Protected Center.LVCOLUMN
Center\mask = #LVCF_FMT
Center\fmt = #LVCFMT_CENTER
SendMessage_(GadgetID(Gadget), #LVM_SETCOLUMN, 0, @Center)
SendMessage_(GadgetID(Gadget), #LVM_SETCOLUMN, 1, @Center)
SendMessage_(GadgetID(Gadget), #LVM_SETCOLUMN, 2, @Center)
EndProcedure
Using PureBasic latest stable version and current alpha/beta (x64) on Windows 11 Home
Re: EnableExplicit
Sobald ich in einem MOudl enableexplicit angegeben habe, wird die Vairable @Center als nicht deklariert beanstandet. Wenn ich sie aber deklariere, funktioniert der API-Aufruf nicht mehr.
Gruß
Gruß
Re: EnableExplicit
Dann zeig mal einen lauffähigen (abgespeckten) Code, dann kann ich/man ggf. weiterhelfen...
Ansonsten stocher ich hier nur rum... .
Ansonsten stocher ich hier nur rum... .
Using PureBasic latest stable version and current alpha/beta (x64) on Windows 11 Home
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: EnableExplicit
Benutzt du in dem Modul Variablen, die außerhalb des Moduls deklariert und definiert werden?
Woher kommt denn dieses "Center"? Irgendwo vorher schreibst du da doch irgendwas rein.
Woher kommt denn dieses "Center"? Irgendwo vorher schreibst du da doch irgendwas rein.