[Résolu] [Writer] Erreur: Valeur de propriété incorrecte

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
OlivierR
SuppOOrter
SuppOOrter
Messages : 1037
Inscription : 24 mai 2006 22:34
Localisation : Lorraine, France
Contact :

[Résolu] [Writer] Erreur: Valeur de propriété incorrecte

Message par OlivierR »

Bonjour à tous,

J’essaie de récupérer les informations du correcteur orthographique, mais un simple test sur la validité d’un mot ne passe pas, et me renvoie invariablement l’erreur: Valeur de propriété incorrecte.

Code : Tout sélectionner

Sub Spell
	Dim locale As New com.sun.star.lang.Locale
	Dim word As String
	Dim bWordValid As Boolean

	locale.Language="fr" 'ISO 639
	locale.Country="FR"  'ISO 3166
	
	LinguService = createUnoService("com.sun.star.linguistic2.LinguServiceManager")
	spellChecker = LinguService.getSpellchecker()

	if not spellChecker.hasLocale(locale) Then
		msgbox "Le dictionnaire français est introuvable"
		exit sub
	endif
	
	'XRay spellChecker
	
	word = inputbox("Mot à vérifier:")
	while word <> ""
		bWordValid = spellChecker.isValid(word, locale, array())
		if bWordValid then
			msgbox word + " est valide"
		else
			msgbox word + " n’est pas valide"
		endif
		word = inputbox("Mot à vérifier:")
	wend
End Sub
Ce code est quasi-identique à celui récupéré ici (qui provoque la même erreur).

Cf. API: http://api.openoffice.org/docs/common/r ... ecker.html

Une idée de l’origine du problème?
Merci d’avance.

Fichier de test:
test_spellcheck.odt
(9.82 Kio) Téléchargé 148 fois
Dernière modification par OlivierR le 25 juil. 2010 01:03, modifié 2 fois.
LibreOffice 7.1Windows 10Grammalecte, correcteur grammatical et orthotypographique
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5732
Inscription : 03 janv. 2009 00:56

Re: [Writer] Erreur: Valeur de propriété incorrecte

Message par Jean-Louis Cadeillan »

tu es sûr du troisième argument de la méthode isValid ?
Que contient array() ? Où est-il défini ?
A+
Jean-Louis
LibO 7.6.5.2 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 06:54
Localisation : CATALUNYA
Contact :

Re: [Writer] Erreur: Valeur de propriété incorrecte

Message par Churay »

Bonsoir,
Jean-Louis Cadeillan a écrit :tu es sûr du troisième argument de la méthode isValid ?
Que contient array() ? Où est-il défini ?
Non, ça c'est bon : c'est une structure vide.
Il est impératif de passer un vecteur en paramètre (syntaxe unique quelle que soit la fonction).
Parfois, comme c'est le cas ici, le vecteur est vide parce que la fonction appelée n'en a pas besoin, mais la syntaxe est respectée.
Donc plutôt que de définir une variable (Dim arg()) qui ne sera pas utile, et passer en argument cette variable Arg() vide, on utilise souvent Array() qui passe un équivalent de Arg(), vide. (Je ne sais pas si je suis très clair, mais je me comprends :roll: )

Par contre, j'ai remplacé

Code : Tout sélectionner

       LinguService = createUnoService("com.sun.star.linguistic2.LinguServiceManager")
       spellChecker = LinguService.getSpellchecker()
par

Code : Tout sélectionner

       Dim v_spellChecker As Variant 
       v_spellChecker = createUnoService("com.sun.star.linguistic2.SpellChecker")
trouvé dans un exemple de Pitonyak
Le Dim parce que j'aime bien définir clairement ce que j'utilise.
Et ne pas utiliser un nom déjà utilisé or SpellChecker est déjà utilisé...
C'est comme utiliser une variable nommée For ou Next : ça coince.

et bien évidemment

Code : Tout sélectionner

          bWordValid = spellChecker.isValid(word, locale, array())
par

Code : Tout sélectionner

          bWordValid = v_spellChecker.isValid(word, locale, array())
et ça marche

cOOordialement

PS : Merci de m'avoir fait découvrir spellchecker ;)
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
OlivierR
SuppOOrter
SuppOOrter
Messages : 1037
Inscription : 24 mai 2006 22:34
Localisation : Lorraine, France
Contact :

Re: [Writer] Erreur: Valeur de propriété incorrecte

Message par OlivierR »

:shock: Basic ne tient pas compte de la casse non plus pour les noms de variables!
J’ai cherché pendant des heures ce qui clochait avec le troisième paramètre. :roll: J’ai bien fait de poser la question…
Merci pour le coup de main.
LibreOffice 7.1Windows 10Grammalecte, correcteur grammatical et orthotypographique
Répondre