Changements Entrainant une Rupture de Script dans les Versions R�centes
Cette page contient une liste de toutes les modifications apport�es dans les mises � jour r�centes qui vont presque certainement casser les scripts existants. Veuillez lire attentivement cette liste lors de la mise � niveau au cas o� vous n'aurriez pas suivi les d�veloppements des versions b�ta. Si l'un de ces probl�mes vous concerne, vous devrez modifier vos scripts.
v3.3.14.3
UDFs:
v3.3.14.2
UDFs:
- La fonction _SQLite_Startup () ne t�l�charge plus automatiquement les fichiers DLL SQLite � partir de autoitscript.com. La plupart des utilisateurs ignoraient totalement que ce t�l�chargement se produisait � chaque ex�cution de script et que cela provoquait un grave probl�me de bande passante pour le site Web. Les DLL SQLite doivent maintenant �tre t�l�charg�es manuellement. Consultez la documentation _SQLite_Startup() pour plus de d�tails.
v3.3.14.0
AutoIt :
- Si Min et Max ont la m�me valeur, alors Random() retournera cette valeur sans queg @error ne soit d�fini.
- Sous Vista ou Server 2008 _GDIPlus_Startup() n�cessite une DLL explicite pour le support de GDI+ v1.1.
- Les op�rations sur les fichiers texte non ouverts avec FileOpen() et les flags explicites Unicode d�tectent maintenant l'encodage l�g�rement diff�remment pour �tre plus en phase avec les �diteurs modernes. Cela inclut toutes les fonctions de fichier utilis�es avec un nom de fichier, par exemple FileRead ("nomdefichier.txt"). Plus pr�cis�ment :
-
- Les fichiers contenant un BOM seront ouverts dans le mode appropri� selon ce BOM. Les BOMs UTF-8 et UTF-16 sont v�rifi�s.
- Les fichiers UTF-8 et UTF-16 sans BOM seront automatiquement d�tect�s et ouverts dans le mode correspondant.
- Les fichiers contenant des valeurs NULL sont ouverts en mode Binaire ($FO_BINARY) par d�faut (sauf s'ils sont d�tect�s comme UTF-16 valide). Auparavant, ils �taient ouverts en mode ANSI. Utilisez le flag $FO_ANSI pour forcer le mode.
- Les fichiers contenant uniquement les caract�res 1-127 sont ouverts par d�faut en UTF-8 sans BOM ($FO_UTF8_NOBOM). Auparavant, ils �taient ouverts en mode ANSI. Utilisez le flag $FO_ANSI pour forcer le mode.
- Les fichiers contenant uniquement les caract�res 1-255 sont ouverts par d�faut en ANSI ($FO_ANSI).
- En raison de ce qui pr�c�de, FileGetEncoding() retourne maintenant 512 ($FO_ANSI) ou 256 ($FO_UTF8_NOBOM) au lieu de 0 qui �tait non document� mais indiquait ANSI.
- Les nouveaux fichiers sont �crits par d�faut en UTF-8 sans BOM ($FO_UTF8_NOBOM). Utilisez FileOpen() pour forcer le mode.
- Les fichiers UTF-16 sans BOM sont maintenant automatiquement d�tect�s dans la plupart des cas.
UDFs :
- UDF Excel, fonction _Excel_BookOpen : Lorsque le param�tre $bReadOnly = False et l'acc�s en lecture-�criture ne peut pas �tre accord�, @error �tait d�finie � 4 et le classeur ouvert en lecture seule. Maintenant @error = 0, @extended = 1 et le classeur est ouvert en lecture seule.
- UDF Word, fonction _Word_DocOpen : Lorsque le param�tre $bReadOnly = False et l'acc�s en lecture-�criture ne peut pas �tre accord�, @error �tait d�finie � 4 et le document ouvert en lecture seule. Maintenant @error = 0, @extended = 1 et le document est ouvert en lecture seule.
v3.3.12.0
UDFs :
- Le param�tre $hPrintCallback (anciennement $sPrintCallback) dans _SQLite_Startup() n�cessite maintenant un objet de fonction plut�t qu'une cha�ne de fonction. Cela est d� � l'utilisation de Call() en cours de suppression de l'UDF.
- Le param�tre $hFunctionCall (anciennement $sFunctionCall) dans _FTP_ProgressDownload() et _FTP_ProgressUpload() n�cessite maintenant un objet de fonction plut�t qu'une cha�ne de fonction. Cela est d� � l'utilisation de Call() en cours de suppression de l'UDF.
-
_ArrayDelete() d�finit @error sur non-z�ro si $iElement est hors limites. Veuillez consulter la documentation pour plus de d�tails.
- Changement du comportement et de l'ordre des param�tres pour _StringBetween(). Veuillez consulter la documentation pour plus de d�tails.
-
_GUICtrlListView_GetView() et _GUICtrlListView_SetView() utilisaient 0 pour l'affichage d�taill� et 1 pour l'affichage des grandes ic�nes, alors que maintenant c'est 0 pour l'affichage des grandes ic�nes et 1 pour l'affichage d�taill�.
- L'UDF Array a �t� r��crit. Des fonctions et/ou des param�tres ont �t� modifi�s, supprim�s ou ajout�s. Une liste d�taill�e peut �tre trouv�e ici.
- L'UDF Excel UDF a �t� r��crit. Des fonctions et/ou des param�tres ont �t� modifi�s, supprim�s ou ajout�s. Une liste d�taill�e peut �tre trouv�e ici.
Informations manquantes dans les notes de la version v3.3.10.0 :
-
_ArrayDisplay() a �t� r��crit avec des param�tres suppl�mentaires. Veuillez consulter la documentation pour plus de d�tails.
v3.3.10.1
UDFs :
Informations manquantes dans les notes de la version v3.3.10.0 :
- Les champs $tagBITMAPINFO ont �t� modifi�s en utilisant le pr�fixe "bi".
v3.3.10.0
AutoIt :
- La valeur de retour de ShellExecute() a �t� chang�e. Au lieu de retourner 1, elle retourne le PID du processus ex�cut� ou -1 s'il n'existe pas de PID.
UDFs :
- Documentation de _Iif() supprim�e. La fonction est toujours pr�sente dans Misc.au3, mais elle sera supprim�e ult�rieurement. Les scripts l'utilisant devraient �tre mis � jour pour utiliser les op�rateurs ternaire � la place.
- _IEErrorHandlerRegister() a �t� supprim�. La fonction n'est plus requise puisque les erreurs COM ne sont plus fatales.
- Documentation de _StringEncrypt() supprim�e. La fonction est toujours pr�sente dans String.au3, mais elle sera supprim�e ult�rieurement. Les scripts l'utilisant devraient �tre mis � jour pour utiliser les fonctions Crypt � la place.
Regardez l'exemple de _Crypt_EncryptData() pour une alternative � _StringEncrypt.
- Documentation de _StringReverse() supprim�e. La fonction est toujours pr�sente dans String.au3, mais elle sera supprim�e ult�rieurement. Les scripts l'utilisant devraient �tre mis � jour pour utiliser la fonction native StringReverse() � la place.
- Avec l'introduction des fonctions WinAPIEx, certaines constantes de l'include Constants.au3 ont �t� d�plac�es dans l'include WinAPIConstants.au3.
- L'UDF Word a �t� compl�tement r��crit. Des fonctions et des param�tres ont �t� renomm�s, supprim�s ou ajout�s. Une liste d�taill�e peux �tre trouv�e ici.
- $tagGDIPPENCODERPARAMS supprim�, utilisez $tagGDIPENCODERPARAMS.
-
$tagGDIPENCODERPARAMS utilise $tagGDIPENCODERPARAM comme premi�re structure du tableau.
- $tagGDIPENCODERPARAM le champs "count" a �t� renomm� en "nbOfValues".
- Les champs $tagBITMAPINFO ont �t� modifi�s en utilisant le pr�fixe "bi".
- Mise � jour de la fonction _ArrayUnique() pour acc�l�rer le traitement. Le dernier param�tre est utilis� pour s�lectionner le comptage des chaines retourn�es dans $aArray[0].
- 'UDF ToolTip a �t� r��crit. Des fonctions et/ou des param�tres ont �t� renomm�s, supprim�s ou ajout�s. Une liste d�taill�e peux �tre trouv�e ici.
-
_ArrayDisplay() a �t� r��crit avec des param�tres suppl�mentaires. Veuillez consulter la documentation pour plus de d�tails.
v3.3.8.0
AutoIt :
-
ObjName() a eu un certain nombre de corrections d'erreur et de changements qui peuvent affecter les donn�es retourn�es. Les UDFs int�gr�s ont �t� modifi�s en cons�quence mais les scripts personnalis�s devront �tre modifi�s.
-
ObjEvent() les objets AutoIt.Error n'ont plus les m�thodes Raise() ou Clear() et les propri�t�s sont en lecture seule.
-
Int() et Hex() ne changent plus la valeur de @error
- Les m�thodes COM n�cessitent d�sormais des parenth�ses pour que le langage puisse d�tecter en interne les propri�t�s et les m�thodes plus facilement.
v3.3.6.0
UDFs :
- _DateToDayOfWeekIso renvoyait 0-6 et � �t� chang� en 1-7 o� Lundi = 1.
v3.3.4.0
Certaines des fonctionnalit�s suivantes sont devenues obsol�tes. Celles-ci ne sont plus document�es, mais continuent � fonctionner. elles seront supprim�es apr�s la version 3.3.4.0. Il est fortement recommand� de mettre � jour les scripts utilisant ces fonctionnalit�s obsol�tes par les nouveaux comportements. Certaines d'entre elles ont d�j� �t� supprim�es et seront not�es comme telles.
AutoIt :
- Le mode de lecture "RAW" de la commande FileOpen() a �t� supprim�.
- InetGet("abort"), @InetGetActive et @InetGetBytesRead ont �t� supprim�s. La liste ci-dessous, vous montre les nouvelles fonctions pour acc�der aux anciens comportements :
-
-
InetGet("abort") - L'appel � la nouvelle fonction InetClose() avec le handle retourn� par InetGet() arr�tera le t�l�chargement.
-
@InetGetActive - L'appel � la nouvelle fonction InetGetInfo() sans param�tres retourne le nombre de t�l�chargements actifs.
-
@InetGetBytesRead - L'appel � la nouvelle fonction InetGetInfo() avec le handle retourn� par InetGet() renverra le nombre d'octets lu (et plus) pour le t�l�chargement concern�.
- AdlibEnable() et AdlibDisable() ont �t� supprim�s. Voir les nouvelles fonctions AdlibRegister() et AdlibUnRegister().
- OnAutoItStart() a �t� supprim�. Voir la nouvelle directive #OnAutoItStartRegister.
- OnAutoItExit() a �t� supprim�. Voir les nouvelles fonctions OnAutoItExitRegister() et OnAutoItExitUnRegister().
v3.3.2.0
Certaines des fonctionnalit�s suivantes sont devenues obsol�tes. Celles-ci ne sont plus document�es, mais continuent � fonctionner. elles seront supprim�es apr�s la version 3.3.2.0. Il est fortement recommand� de mettre � jour les scripts utilisant ces fonctionnalit�s obsol�tes par les nouvelles. Certaines d'entre elles ont d�j� �t� supprim�es et seront not�es comme telles.
AutoIt :
-
ShellExecute() et ShellExecuteWait() n'utilisent plus la valeur "open" par d�faut. Voir la section remarques de ces fonctions pour plus de d�tails.
- La valeur de retour de InetGet() a chang�. Il est important de lire et de comprendre les changements car il est possible d'avoir une perte de ressources si InetGet() est mal utilis�.
- InetGet("abort"), @InetGetActive et @InetGetBytesRead sont maintenant obsol�tes. La liste suivante montre les nouvelles fonctions utilis�es pour acc�der aux anciennes fonctionnalit�s :
-
-
InetGet("abort") - Appeler la nouvelle fonction InetClose() avec le handle retourn� par InetGet() arr�tera le t�l�chargement.
-
@InetGetActive - Appeler la nouvelle fonction InetGetInfo() sans param�tres retourne le nombre de t�l�chargement en cours.
-
@InetGetBytesRead - Appeler la nouvelle fonctionInetGetInfo() avec le handle retourn� par InetGet() retourne le nombre d'octets lu (et plus) pour le t�l�chargement concern�.
- L'option FtpBinaryMode fix�e avec AutoItSetOption() � �t� supprim�e. Maintenant InetGet() prend un flag pour sp�cifier le mode de transfert.
- L'alias URLDownloadToFile() pour InetGet() a �t� supprim�.
- AdlibEnable() et AdlibDisable() sont devenus obsol�tes. Voir les nouvelles fonctions AdlibRegister() et AdlibUnRegister().
- OnAutoItStart() est obsol�te. Voir la nouvelle d�claration pr�processeur #OnAutoItStartRegister.
- OnAutoItExit() est obsol�te. Voir les nouvelles fonctions OnAutoItExitRegister() et OnAutoItExitUnRegister().
- L'option OnExitFunc de AutoItSetOption() a �t� supprim�e. Voir les nouvelles fonctions OnAutoItExitRegister() et OnAutoItExitUnRegister().
-
GUICreate() avec $WS_EX_MDICHILD � �t� corrig� pour �tre relatif � la zone cliente tel que d�crit dans la documentation.
-
ProcessWait() retournent maintenant un PID au lieu de 1 en cas de succ�s.
-
WinWait(), WinWaitActive(), WinActivate(), WinActive() et WinMove() retournent maintenant un handle au lieu de 1 en cas de succ�s.
- La macro @YDAY utilise maintenant la port�e 001 - 366 au lieu de 1 - 366. Cela rend la macro plus en accord avec d'autres langage (comme le C/C ++) et avec toutes les macros de date qui retournent des cha�nes compl�t�es par des 0 afin d'unifier la longueur de cha�ne.
-
RegEnumKey() et RegEnumVal() retournent maintenant une cha�ne vide au lieu d'un message d'erreur.
UDFs :
- Le dernier param�tre optionnel de _StringBetween() a �t� supprim�.
- _StringAddThousandsSep() a �t� supprim�e. Il y a trop d'opinions sur ce que cette fonction devrait faire et trop de r�visions de cette fonction ont �t� faites.
- _SQLite_SaveMode() a �t� renomm� en _SQLite_SafeMode().
v3.3.0.0
AutoIt :
- Le support de Windows 9x et Windows NT 4.0 a �t� supprim�. Utilisez la version v3.2.12.1 de AutoIt si vous en avez vraiment besoin.
- @ProcessorArch modifi� en @OSArch car trop ambigu.
-
RegRead() et RegWrite() n'utilisent plus des cha�nes hexad�cimale pour les types REG_BINARY - Le type de donn�es binaire est nativement impos�.
AutoItX :
- La version native de la DLL utilise maintenant exclusivement des cha�nes Unicode (LPWSTR et LPCWTSR). Si vous avez r�ellement besoin de cha�ne ANSI, alors continuez � utiliser la version v3.2.12.1. La solution de contournement la plus simple consiste � utiliser une fonction "wrapper" pour convertir simplement entre Unicode et ANSI. Une s�lection limit�e de fonctions (WinWait ... et Send) ont une version ANSI, mais il n’est pas pr�vu d’ajouter des versions ANSI aux autres fonctions, sauf en cas de forte demande.
v3.2.12.0
AutoIt :
- RunAsSet() a �t� supprim�. Utilisez les nouvelles fonctions RunAs() et RunAsWait() � la place. Elles ont �t� am�lior�es avec une meilleure s�curit� et plus de fonctionnalit�s (il est toujours recommand� de ne pas stocker des mots de passe importants dans vos scripts).
- L'option RunErrorsFatal a �t� supprim�e. Run(), RunWait(), ShellExecute() et ShellExecuteWait() fixent maintenant @error en cas d'echec du lancement de l'application. AutoIt ne lance plus d'erreur fatale lorsqu'une application �choue au lancement.
-
StdoutRead(), StderrRead() et ConsoleRead() ont subit des changements significatifs. Ils ne bloquent plus, ils retournent imm�diatement. Les param�tres ont chang�s. Il n'est plus possible de lire des param�tres de comptage. Le param�tre peek a �t� d�plac� en deuxi�me param�tre. Le troisi�me param�tre sp�cifie maintenant si vous voulez que les donn�es soient retourn�es en format binaire (texte par d�faut). La macro @extended d�tient maintenant le nombre d'octets/caract�res lu.
-
StdinWrite(), ConsoleWrite() et ConsoleWriteError() se comporterons maintenant diff�remment en cas de donn�es binaires. Les donn�es binaires sont �crites en l'�tat au lieu de les convertir en cha�nes. Aussi, la valeur de retour de ces fonctions devient le nombre d'octets �crits au lieu d'une valeur g�n�rique de 1.
- Supprim� : Option ColorMode ( Opt() ).
- Corrig� : Random(Min,Max,1). Pr�c�demment, ceci ne retournait jamais la valeur Max, donc si la valeur Max � �t� artificiellement incr�ment�e, le script � besoin d'�tre mis � jour.
UDFs :
Veuillez consulter ce fil de discussion pour plus de d�tails et d'aide concernant ces changements.
- GUIConstants.au3 est identique � GUIConstantsEx.au3. Cela signifie que beaucoup de scripts utilisant la fonctionnalit� GUI avanc�e devront utiliser des d�clarations #include suppl�mentaires pour inclure les fichiers contenant les constantes qui ont �t� pr�c�demment et faussement inclusent.
- GUIDefaultConstants.au3 n'existe plus. Vous devez maintenant inclure le fichier individuel correspondant aux constantes des contr�les dont vous avez besoin. Par exemple : ListBoxConstants.au3, ComboConstants.au3, EditConstants.au3, etc...
- La documentation de _ArrayCreate() a �t� supprim�e. La fonction est toujours pr�sente, mais sera supprim�e plus tard. Les scripts devraient �tre mis � jour afin d'utiliser la syntaxe d'initialisation de tableau d�velopp� dans AutoIt.
v3.2.10.0
AutoIt :
-
DllCall() : Types short_ptr, long_ptr, int_ptr obsol�tes. Utilisez respectivement short*, long* et int*
UDFs
- _GUICtrlXXXYYY() ont �t� rebaptis�es _GUICtrlXXX_YYY() sans aucun changement de fonctionnalit�s.