[Visual Prolog] procedure vs. determ

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008
  • Reageer

  • Tirillo
  • Registratie: Januari 2002
  • Niet online

Tirillo

Joker of Unauwen

Topicstarter
Ik wil na het drukken op de knop zoek items een bepaald stuk code alleen uitvoeren als er een checkbox aangevinkt staat. Ik heb daartoe de volgende mogelijkheden geprobeerd:


code:
1
2
3
4
5
6
7
8
9
10
    predicates
        onControlZoekItems : vpiDomains::controlHandler.
    clauses
        onControlZoekItems(_CtrlID, _CtrlType, _CtrlWin, _CtrlInfo)  = handled(0) :-
            Var = vpi::winGetCTLHandle(thisWin,lbitems),
            vpi::lboxClear(Var),
            IsChecked = vpi::winIsChecked(vpi::winGetCtlHandle(thisWin, idc_heeft_tuin)),
            IsChecked <> checkbox_off,
            findall(X,heefttuin(X,yes),Lijst),
            vpi::lboxAdd(Var,Lijst).


code:
1
2
3
4
5
6
7
8
9
    predicates
        onControlZoekItems : vpiDomains::controlHandler.
    clauses
        onControlZoekItems(_CtrlID, _CtrlType, _CtrlWin, _CtrlInfo)  = handled(0) :-
            Var = vpi::winGetCTLHandle(thisWin,lbitems),
            vpi::lboxClear(Var),
            vpi::winCtlIsChecked(vpi::winGetCtlHandle(thisWin, idc_heeft_tuin),0),
            findall(X,heefttuin(X,yes),Lijst),
            vpi::lboxAdd(Var,Lijst).


Bij beide krijg ik de foutmelding:

error c631: The predicate 'gUI::onControlZoekItems//4 (i,i,i,i)', which is declared as 'procedure', is actually 'determ'

Ik snap niet precies wat dit inhoudt, de documentatie bij de errors is wat gebrekkig. Weet iemand hoe ik iets kan doen alleen als er een checkbox aangevinkt staat?

...