User Tag List

Page 2 of 2 FirstFirst 1 2
Results 11 to 14 of 14

Thread: DLL Object

  1. #11
    Clicker Fusion 2.5 DeveloperInstall Creator Pro

    Join Date
    Sep 2006
    Posts
    517
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: DLL Object

    Cette extension ressemble énormément à Call DLL avec quelques options en plus et une bonne documentation. Je me sens maintenant à la maison avec MMF 2 [img]/epicentre/images/%%GRAEMLIN_URL%%/grin.gif[/img] (l'affichage des paramètres de DLL Object dans le débogueur est pratique d'ailleurs)

    J'ai migré une petite appli de MMF 1.5 + Call DLL à MMF 2.0 + DLL Object et le tout fonctionne correctement.

    Quelques remarques pour la route :

    Lors de l'événement On Error, il n'y a aucune protection contre d'autres levées d'événements. C'est-à-dire, si une erreur se produit lors de l'utilisation de l'objet et que le traitement de cette erreur génère une autre erreur, il y a un risque d'appel récursif de cet événement finissant par crasher l'application.

    Parfois il est préféreable de traiter une erreur juste après un appel plutôt que par levée d'événement. Le traitement est alors directement associé à l'appel précédent. Mais ce genre de traitement est difficile car la dernière erreur levée est conservée sans possibilité de l'effacer. Biensûr, en utilisant une variable quelconque il est possible de contourner le problème mais il serait plus simple d'avoir une action du genre Clear last error.

    L'utilisation de messages d'erreur plutôt que des codes d'erreur est à réfléchir... L'avantage des messages d'erreur est qu'ils présentent directement une explication du problème, l'inconvénient est que dissocier le traitement d'une erreur d'une autre peut devenir problématique. Il suffit que la chaîne soit modifiée pour qu'un traitement ne soit plus déclenché (problème de maintenance).

    L'action Unload DLL lève une erreur si aucune DLL n'est chargée. A mon goût, cette action devrait décharger sans discuter l'objet qu'il y ait une DLL chargée ou non. En effet le résultat final est le même : il n'y a pas/plus de DLL chargée après l'appel de cette action. Ou alors au moins ajouter une condition du genre A DLL is loaded.

    Une question :

    Est-ce qu'il est nécessaire d'effectuer un déchargement manuel des DLLs chargées à la fin de la scène ou est-ce que l'extension s'en charge ?
    Par exemple la DLL user32.dll peut être utilisée relativement fréquemment. Afin d'éviter de charger-décharger celle-ci sans cesse, je la charge au début de la scène. Est-ce qu'il faut que je la décharge manuellement à la fin de la scène ?

    Tant que j'y suis :

    Contrairement à Call DLL, l'extension de la librairie (.dll) doit être spécifiée lors du chargement. Ce n'est pas plus mal mais à savoir.

    Puisqu'il est possible d'ajouter des arguments, il serait intéressant de pouvoir déterminer le nombre d'arguments définis actuellement dans l'objet. Bon pour ma part je préfère le placement explicite des arguments que je trouve plus sûr [img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]

  2. #12
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,022
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)

    Re: DLL Object

    Pas la peine de décharger la DLL en fin de scène, c'est fait automatiquement.

    Je ne comprends pas ceci : "il serait intéressant de pouvoir déterminer le nombre d'arguments définis actuellement dans l'objet".

    Merci pour les suggestions, je vais noter ça.

  3. #13
    Forum Moderator Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export ModuleXNA Export Module
    Sphax's Avatar
    Join Date
    Jun 2006
    Location
    Paris, France
    Posts
    4,454
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: DLL Object

    Je pense qu'il veut dire qu'il faudrait une expression pour récupérer le nombre d'arguments actuellement ajoutés à l'extension (via les actions) en vu d'appeler une fonction de la DLL. [img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]

  4. #14
    Clicker Fusion 2.5 DeveloperInstall Creator Pro

    Join Date
    Sep 2006
    Posts
    517
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: DLL Object

    Tout-à-fait Sphax, c'est ce à quoi je pensais. Une fonction Count (size, length, ...) qui retourne le nombre d'arguments définis actuellement.

    <div class="ubbcode-block"><div class="ubbcode-header">Posté à l'origine par: Yves</div><div class="ubbcode-body">Pas la peine de décharger la DLL en fin de scène, c'est fait automatiquement.</div></div>

    Ok, parfait !

Page 2 of 2 FirstFirst 1 2

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •