j'ai verifier chez moi, j'ai m^me retelechargee la source. y a pas d'erreur.
cette erreur veut dire que RulesID ne correspond pas à la definition de la proprieté
alor va dans le control Board du projet Cheker. verifie si la propriéte rulesid existe ou si elle n a pas ete renommée.
le code correcte
'identifiant régles du jeu lecture/ecriture
Public Property Get RulesID() As Integer
RulesID = m_RulesID
End Property
Public Property Let RulesID(ID As Integer)
Select Case ID
Case 1
Set Rules = New American
Case 2
Set Rules = New Classic
Case 3
Set Rules = New International
Case 4
Set Rules = New Spanish
End Select
If m_RulesID <> ID Then 'si les regles ont changé
LoadSquares
BuilBoard
microsoft transaction server??
j'ai pas installé ce truc
je pense que l'erreur vient de vb2005 qui n'accepte pas toujours très bien les ocx ( technologie ancienne)
A Gilardg
Si tu a compiler le prog , je vois à peu prés le problème. en principe si on clic droit sur le damier une fenetre a propos devrait apparaitre
A PCPT
Effectivement, maintenant que j y pense j'aurais du le proposer comme mise à jour de mon ancienne source. mais losque je l'ai posté, je pensé varaiment qu'il était
différent.
c'est vrai que le principe du jeu est le même mais l'OCX fonctionne autrement. dans l'ancienne version la gestion du jeu et le contrôle du jeu se fesait ensemble.
Dans la version actuelle la programation est différente. Il y séparation de la gestion du jeu (qui s'effctue dans le control lui m^me) et le contrôle qui s'effectue dans des modules de classes qui implemente un interface unique.ce qui permet de gerer plusieur regels de façon transparente et modulable.
Et je voulais garder l'ancienne version pour un interet didactique et pour les visiteurs qui aurait des dificultés avec le concepts d'implémentation.
je pense maintenant que je vais décharger l'ancienne version.
erreur d'execution 406
les feuilles non modales ne peuvent être affichées dans cette application à partir
d'une dll activeX, d'un controle activeX ou d'une feuille de propriétés
pendant une phase de jeu entre humain
ensuite mon programme plante
j'ai l'impression que j'ai mal dormi cette nuit. le composant expose egalement 2 autres propriete en lecture ecriture
Dimension renvoie la taille du composant (tient celle la je ne l'ai pas testé)
et RulesID renvoie l'identifiant des regeles du jeu
1 pour américain
2 pour classique
3 pour International
et 4 pour espagnol
j'ai pas terminé
pour l'utilisation du control ChekerOCX. Il faudra le compiler et l'enregistrer puis l'ajouter à votre projet (en vb2005 je ne sais pas comment)
le composant expose
une methode:
Begingame avec comme argument un booleen against computer (Vrai pour jour contre le PC et faux pour jouer contre un humain)
2 proprités en lecture ecriture
DarkSquareColor et lightsquare color (couleur des cases foncées et claire)
2 proprités en lecture seule
Player1PieceCount et player2piecesCount (nombre de pieces restantes du joueur1 et 2)
2 evenements
Currentplayerchange indique le changement de tour l'argument newcurrentplayer renvoi le joueur qui à la main
et
EndGame indique la fin de partie l'argument winner renvoi le joueur gagnant
Merci pour les encouragments. Cependant je ne trouve pas que c'est dommage que se soit en vb6. C'est vrai question POO c'est de la daube (pas de constructeur, pas d'heritage, pas de pointeur...). Mais c'est là le plaisir d'un programeur VB6. Trouver des astuces pour controurner tous ça et d'aller au limite du language.
la performance n'est pas là. Mais pour un jeu de dame c'est sufiisant
Pour l'instant je suis occupé. Dès que je serais un peu libre, j'ajoutrais les fonctionalités de sauvgarde et de chargement de partie
Concernanant l'annulation d'un coup ou d'un tour je suis pour l'instant un peu perplexe
13 oct. 2008 à 23:07
cette erreur veut dire que RulesID ne correspond pas à la definition de la proprieté
alor va dans le control Board du projet Cheker. verifie si la propriéte rulesid existe ou si elle n a pas ete renommée.
le code correcte
'identifiant régles du jeu lecture/ecriture
Public Property Get RulesID() As Integer
RulesID = m_RulesID
End Property
Public Property Let RulesID(ID As Integer)
Select Case ID
Case 1
Set Rules = New American
Case 2
Set Rules = New Classic
Case 3
Set Rules = New International
Case 4
Set Rules = New Spanish
End Select
If m_RulesID <> ID Then 'si les regles ont changé
LoadSquares
BuilBoard
End If
m_RulesID = ID
End Property
13 oct. 2008 à 12:26
Private Sub Form_Load()
RulesMnu(Board1.RulesID - 1).Checked = True
iCheckedRulesMnu = Board1.RulesID - 1
Me.Caption = App.Title & " " & RulesMnu(Board1.RulesID - 1).Caption
End Sub
RulesID: Method or data member not found
Merci de ta réponse et de ton travail. La note viendra après.
12 oct. 2008 à 17:35
12 oct. 2008 à 17:14
12 oct. 2008 à 01:47
j'ai pas installé ce truc
je pense que l'erreur vient de vb2005 qui n'accepte pas toujours très bien les ocx ( technologie ancienne)