DVDFR Script 1.60

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
Post Reply
Ytterbium
Posts: 2
Joined: 2014-01-29 12:46:08

DVDFR Script 1.60

Post by Ytterbium »

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. :grinking:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Bonjour,
Il s'arrête, mais il dit bien quelque chose, non ? Y a-t-il un message d'erreur ?
La ligne 218 est en effet prévue pour AMC 4.2, mais avec le test qui y est normalement ça ne devrait pas poser de soucis...
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

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 :

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
par

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
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 ... :p ... 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)
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

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
Je vais peut-être attendre le passage de Dedej avant publication
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

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
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.

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 :
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é.
Hors ici on ne télécharge pas une page supplémentaire pour avoir l'avis CSA, donc inutile.
Ytterbium
Posts: 2
Joined: 2014-01-29 12:46:08

Bonsoir à tous.

Post by Ytterbium »

Merci d'avoir pris en compte le problème.
Bonne soirée.
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

[REL] correction bug

Post by Dedej »

Merci les amis de tester et de solutionner aussi les problèmes que j'ai raté ou pas essayé avec la bonne version :ha:

Donc la version passe avec la version 1.61 avec exactement les corrections postées par Raoul :hihi: 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 :grinking:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

C'est à jour sur le serveur, merci :)
Post Reply