Bonjour
J'utilise la version 4.1.2.3 de AMC sous XP SP3, et j'ai des problèmes avec la version 1.60 du script DVDFR. Le script s'arrete à la ligne 218 :
end
else
begin
SetField(fieldComments, s1);
end;
end;
end
else
if ((GetField(fieldMediaType) = 'DVD') or (GetField(fieldMediaType) = 'DVD-5') or (GetField(fieldMediaType) = 'DVD-9') or (GetField(fieldMediaType) = 'DVD-18') or (GetField(fieldMediaType) = 'BD-25') or (GetField(fieldMediaType) = 'BD-50') or (GetField(fieldMediaType) = 'HD DVD-30')) then
SetField(fieldVideoFormat, 'MPEG2');
end;
s1 := Items.GetItemNamed('rating').Value; // Avis C.S.A.
if (CheckVersion(4,2,0)) and (GetOption('Avis CSA') = 1) and CanSetField(fieldCertification) and (s1 <> '') then //////////////////////////////////////////////////////////////////////////// test s'il y a un champs Certification
SetField(fieldCertification, s1)
else
begin
if (CheckVersion(4,0,0)) and (GetOption('Avis CSA') = 1) and (s1 <> '') then //////////////////////////////////////////////////////////////////////////// test s'il y a des champs modifiables
begin
Nom := 'Avis C.S.A.';
J'ai remis la version 1.50 (que j'avais de côté, heureusement, car dans les "archives" vous stockez aussi la 1.60 !
Merci pour ce programme.
DVDFR Script 1.60
-
- Posts: 863
- Joined: 2006-08-31 23:58:18
Salut,
Dans le "If" de la ligne 218, il y a un CanSetField sur un champ qui n'est apparu qu'à la 4.2.0 (champ : Certification) ... donc forcément le script doit s'arrêter sur un "unknow identifier" si on utilise une version d'AMC antérieur à la 4.2.0.
Le cansetfield n'est de toute façon pas vraiment indispensable ici, car un SetField d'un champ sera inactif si le champ n'est pas coché. Il suffit donc de remplacer la ligne 218 :
par
@ Antoine
Antoine je peux t'envoyer une mise à jour avec prise en compte du CanSetField si tu veux ?
Edit1 :
Bon de toutes façons je vais t'envoyer une mise à jour, car il y d'autres CheckVersion qui ne vont pas dans le code (Checkversion 4.0.0, mais sur des éléments apparu en 4.2.0 ... lignes 514 et 516)
Edit2 :
Je t'ai envoyé la mise à jour en 1.61, qui devrait marcher même sur une 3.5.1.2 ... ... mais j'ai pas inclus le CantSetField, car il est inutile ici. (j'ai également changer le n° de version pour la mise à jour auto de Dedej ... mais il faudra que Dedej mette le fichier à jour sur son seveur aussi)
Dans le "If" de la ligne 218, il y a un CanSetField sur un champ qui n'est apparu qu'à la 4.2.0 (champ : Certification) ... donc forcément le script doit s'arrêter sur un "unknow identifier" si on utilise une version d'AMC antérieur à la 4.2.0.
Le cansetfield n'est de toute façon pas vraiment indispensable ici, car un SetField d'un champ sera inactif si le champ n'est pas coché. Il suffit donc de remplacer la ligne 218 :
Code: Select all
if (CheckVersion(4,2,0)) and (GetOption('Avis CSA') = 1) and CanSetField(fieldCertification) and (s1 <> '') then //////////////////////////////////////////////////////////////////////////// test s'il y a un champs Certification
Code: Select all
if (CheckVersion(4,2,0)) and (GetOption('Avis CSA') = 1) and (s1 <> '') then //////////////////////////////////////////////////////////////////////////// test s'il y a un champs Certification
Antoine je peux t'envoyer une mise à jour avec prise en compte du CanSetField si tu veux ?
Edit1 :
Bon de toutes façons je vais t'envoyer une mise à jour, car il y d'autres CheckVersion qui ne vont pas dans le code (Checkversion 4.0.0, mais sur des éléments apparu en 4.2.0 ... lignes 514 et 516)
Edit2 :
Je t'ai envoyé la mise à jour en 1.61, qui devrait marcher même sur une 3.5.1.2 ... ... mais j'ai pas inclus le CantSetField, car il est inutile ici. (j'ai également changer le n° de version pour la mise à jour auto de Dedej ... mais il faudra que Dedej mette le fichier à jour sur son seveur aussi)
Normalement il ne devrait pas interpréter la suite du test si le début est faux, mais ici le moteur de script n'est pas assez évolué pour ça je suppose.
L'alternative serait sans doute de faire le test en deux fois :
Je vais peut-être attendre le passage de Dedej avant publication
L'alternative serait sans doute de faire le test en deux fois :
Code: Select all
if checkversion then
begin
autres if ...
end
-
- Posts: 863
- Joined: 2006-08-31 23:58:18
C'est tout à fait ça. Le moteur du script vérifie toutes les conditions de la ligne, même si la première n'est pas bonne ... donc ici forcément ça coince.antp wrote:Normalement il ne devrait pas interpréter la suite du test si le début est faux, mais ici le moteur de script n'est pas assez évolué pour ça je suppose.
L'alternative serait sans doute de faire le test en deux fois :Code: Select all
if checkversion then begin autres if ... end
Dans ma correction, je n'ai pas fait de deuxième condition pour le cansetfield puisque c'est inutile dans le cas qui nous intéresse ici, dixit le fichier d'aide d'AMC dans sa partie scripting :
Hors ici on ne télécharge pas une page supplémentaire pour avoir l'avis CSA, donc inutile.function CanSetField(field: Integer): Boolean;
Permet au script de savoir si le champ spécifié est coché ou non dans la liste des champs modifiables. Le script n'a normalement pas à s'en soucier car un SetField d'un champ sera inactif si le champ n'est pas coché, mais cette fonction permet d'éviter par exemple de télécharger une page supplémentaire dans le cas où un certain champ ne doit de toute façon par être récupéré.
Bonsoir à tous.
Merci d'avoir pris en compte le problème.
Bonne soirée.
Bonne soirée.
[REL] correction bug
Merci les amis de tester et de solutionner aussi les problèmes que j'ai raté ou pas essayé avec la bonne version
Donc la version passe avec la version 1.61 avec exactement les corrections postées par Raoul et en plus une correction de la mise à jour automatique qui était encore en version 3.5.
Version corrigée à récupérer ICI ou sur le site quant antp l'aura pris en compte ou par sa mise à jour par script update, la mise à jour automatique ce sera pour la prochaine fois.
Bon Catalog
Donc la version passe avec la version 1.61 avec exactement les corrections postées par Raoul et en plus une correction de la mise à jour automatique qui était encore en version 3.5.
Version corrigée à récupérer ICI ou sur le site quant antp l'aura pris en compte ou par sa mise à jour par script update, la mise à jour automatique ce sera pour la prochaine fois.
Bon Catalog