Palmclub forum

Palmclub Forum

alles over je Palm Treo smartphone of PalmOS pda

 
Ga terug   Palmclub forum > PalmOS - Algemeen > Softwareontwikkeling

Registreer FAQ Ledenlijst Kalender Berichten van vandaag

Reageren
 
Discussietools Weergave
  #1  
Oud 06 september 2005, 17:15
StrataMan
Guest
 
Berichten: n/a
HB++ handler doesn't match any event

Hallo, ik ben weer eens vastgelopen....:

Ik heb een hoop knoppen, die 'Button' heten, en allemaal een index hebben
Als ik op zon'n button klik, wil ik een routine 'Mover' aanroepen, en dan de
naam van de knop in kwestie meegeven.

Private Sub Button_Click (ByVal iIndex as Integer)
Mover Button(iIndex)
End Sub

Private Sub Mover (ByVal b as Button)
.
.
.
End Sub

Dus eenmaal in 'Mover' aangekomen, wil ik b zien als de knop die 'Mover' heeft aangeroepen.

Maar als ik bovenstaande compileer krijg ik:

frmMain.hbf (9) : error #2351 : handler doesn't match any event

Wat doe ik fout? Dit is waarschijnlijk een no-brainer voor de kenner, maar ik zoek me suf...

Alvast bedankt,
Groet,
Henk
Met citaat reageren
  #2  
Oud 06 september 2005, 17:22
Bram's schermafbeelding
Bram Bram is offline
Forumbikkel
Model: Palm Treo 650
 
Geregistreerd: 24 januari 2003
Locatie: onder het tapijt
Berichten: 5.302
In welke regel gaat het precies fout? Dit is gewoon wat debugging, iets wat elke ontwikkelaar zou moeten kunnen of leren.

Maar even een wilde gok: heb je een functie die Button heet?
__________________
Lezen is ook een FAQ - Freeware PalmOS
Met citaat reageren
  #3  
Oud 06 september 2005, 20:14
ghia's schermafbeelding
ghia ghia is offline
Senior Palmer
Voornaam: Gerard
Model: Palm Tungsten|W
 
Geregistreerd: 22 juni 2004
Locatie: Ottenburg (B)
Berichten: 2.254
Misschien moet je haakjes hebben rond je Mover funktie argument?
Private Sub Button_Click (ByVal iIndex as Integer)
Mover ( Button(iIndex) )
End Sub
__________________
Keep on Palming !
Gerard
FFII News
Met citaat reageren
  #4  
Oud 06 september 2005, 20:34
Bram's schermafbeelding
Bram Bram is offline
Forumbikkel
Model: Palm Treo 650
 
Geregistreerd: 24 januari 2003
Locatie: onder het tapijt
Berichten: 5.302
Citaat:
Mover ( Button(iIndex) )
Nee, die haakjes heb je alleen nodig als je een returnwaarde nodig hebt.
__________________
Lezen is ook een FAQ - Freeware PalmOS
Met citaat reageren
  #5  
Oud 06 september 2005, 20:38
StrataMan
Guest
 
Berichten: n/a
Het gaat fout in :
Private Sub Button_Click (ByVal iIndex as Integer)

Die haakjes rond die Mover functie zijn niet het probleem.
Als ik die Mover aanroep uit-comment dan is het probleem hetzelfde...

Private Sub Button_Click (ByVal iIndex as Integer)
'Mover Button(iIndex)
End Sub

Het zal vast alleen wat debugging zijn, maar ik ben een beginner, en ik ben met vallen en opstaan aan het leren....

Heb ik een functie die Button heet? Ik dact het niet. Ik heb alleen een aantal buttons die 'Button' heten en een index hebben van 1 tot 16. Dus die Button(x) met index wil ik meenemen naar Mover...

Gr
Henk
Met citaat reageren
  #6  
Oud 06 september 2005, 21:00
Bram's schermafbeelding
Bram Bram is offline
Forumbikkel
Model: Palm Treo 650
 
Geregistreerd: 24 januari 2003
Locatie: onder het tapijt
Berichten: 5.302
Citaat:
Heb ik een functie die Button heet? Ik dact het niet.
Wel een control die Button heet. Button is een reserved keyword, en kun je niet als naam van een control gebruiken. Als je een andere naam gebruikt, werkt het waarschijnlijk wel.
__________________
Lezen is ook een FAQ - Freeware PalmOS
Met citaat reageren
  #7  
Oud 06 september 2005, 23:38
StrataMan
Guest
 
Berichten: n/a
Als ik het helemaal terugreng naar:

Private Sub Button_Click(ByVal iIndex As Integer)
End Sub

Dan is de error nog hetzelfde.
Dus dan is er geen sprake van een control die 'Button' heet...

Dus dat is alleen maar het click-event van een aantal buttons met een index kiezen, en dan
maakt HB zelf de code "Private Sub Button_Click(ByVal iIndex As Integer)"... Hoe kan het dan fout zijn????

Een bijna wanhopige aspirant programeur....
Gr,
Henk
Met citaat reageren
  #8  
Oud 07 september 2005, 08:17
fransbr's schermafbeelding
fransbr fransbr is offline
FBTV: Palm TV Gids
Voornaam: Frans
Model: Palm Treo 650
 
Geregistreerd: 22 oktober 2003
Locatie: Sleen
Berichten: 1.450
Wat Bram bedoelt: je buttons mogen geen "Button" heten. Verander de naam van je Button eens naar "But" ofzo (en verander de naam van je eventhandler dus ook naar But_Click).
Je moet (helaas) wel alle buttons bij langs.

Het probleem is dat je de naam van een (aantal) object(en) hetzelfde hebt als de naam van een basistype (basiscontrol). Je object met de naam Button is van het type Button en dat mag niet. De compiler weet dan niet meer of properties/methodes/events bij jouw eigen button of bij het basistype button horen. Snap je het nog? Nee: dan snapt de compiler het ook niet meer . Gewoon de naam van je button(s) veranderen...
__________________
FBTV 2.2.6: De HiRes TV Gids voor PalmOS (27/03/07) nu met een nieuw narrow lettertype.
Laat ontwikkeling / support van FBTV niet in de steek: FBTV is donateware!
Met citaat reageren
  #9  
Oud 07 september 2005, 08:55
StrataMan
Guest
 
Berichten: n/a
Je hebt gelijk! Het volgende werkt wel!

Private Sub But_Click(ByVal iIndex As Integer)
End Sub

Bedankt mensen, voor jullie geduld. Ik begrijp sommige termen (nog) niet die jullie gebruiken.
Ooit - dan hoop ik in staat te zijn een ander te helpen. Van dit prima forum leer ik een hoop!
Groet,
Henk
Met citaat reageren
  #10  
Oud 07 september 2005, 09:21
fransbr's schermafbeelding
fransbr fransbr is offline
FBTV: Palm TV Gids
Voornaam: Frans
Model: Palm Treo 650
 
Geregistreerd: 22 oktober 2003
Locatie: Sleen
Berichten: 1.450
Citaat:
Oorspronkelijk geplaatst door StrataMan
.... en dan maakt HB zelf de code "Private Sub Button_Click(ByVal iIndex As Integer)"... Hoe kan het dan fout zijn????
Een IDE is niets anders dan een omgeving om te kunnen programmeren met enkele slimmigheidjes om het de programmeur gemakkelijker te maken. De juistheid van de code (ook al wordt die "autmatisch" gegenereerd) is verantwoordelijkheid van de programmeur. HB++ maakt de code dus niet zelf: de IDE schrijft alleen automatisch een stukje tekst "Private Sub xxxx_Click(ByVal iIndex as Integer)", waarbij xxxx vervangen wordt door een naam die jij gekozen hebt. Als je daar al de mist in gaat ....
HB++ heeft er blijkbaar voor gekozen om namen van objecten te controleren op invalid characters (zo mag een naam niet beginnen met een cijfer en zijn '@#$ etc. verboden en reserved keywords (zoals for, while, if), maar niet op namen van basistypes/controls. Dit is ook moeilijk, want als je zelf classes gaat maken (het wat moeilijkere programmeerwerk) is de eventhandler "Private Sub Button_Click(ByVal iIndex as Integer)" opeens wel weer geldig....
__________________
FBTV 2.2.6: De HiRes TV Gids voor PalmOS (27/03/07) nu met een nieuw narrow lettertype.
Laat ontwikkeling / support van FBTV niet in de steek: FBTV is donateware!
Met citaat reageren
Reageren

Favorieten/bladwijzers


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)
 

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit


Alle tijden zijn GMT +1. Het is nu 17:37.


Apple iPhone en iPad
(c) Nederlandse Palmclub Stichting 1999-2023