Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1457 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probleme d utilisation d une DLL externe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d utilisation d une DLL externe

n°440042
Kaiserzeus​2001
Posté le 26-06-2003 à 12:00:09  profilanswer
 

Je desirerais utiliser la DLL advsplash.dll fournie avec le celebre installeur NSIS.
 
Elle permet d afficher un splash screen avec effet de fondu (fluide sour toutes machines), son etc...
 
Je pense que ca doit etre possible ...
 
Voici mon code:
 
==============================
Option Explicit
 
Private Declare Function show1 Lib "c:\advsplash.dll" Alias "show" (Delay As Integer, FadeIn As Integer, FadeOut As Integer, KeyColor As variant, FileName As String) as long
 
 
 
Private Sub Form_Load()
dim r as long
r=show1(1000, 600, 400, -1, "c:\splash.bmp" )
 
End Sub
===========================
 
Cependant quand je lance le prog, ca fait planter VB...
 
g teste plusieurs types de var differents en declaration mais rien n y fait ...
 
 
 
voici un extrait du fichier txt qui qccompagne la dll pour une utilisation sous nsis:
 
=========================
Calling format
advsplash::show Delay FadeIn FadeOut KeyColor FileName
 
Delay - length to show the screen for (in milliseconds)
FadeIn - length to show the fadein scene (in ms) (not included in Delay)
FadeOut - length to show the fadeout scene (in ms) (not included in Delay)
KeyColor - color used for transparency. For 24 bit bitmaps could be any RGB
value (for ex. R=255 G=100 B=16 -> KeyColor=0xFF6410), for 8 bit bitmaps
could be either RGB value or index of the color at bitmap palette
(if such RGB color present in your image and you'd like to use palette
index, use (0x1000000+index) as KeyColor [you should calculate
this value by yourself]). Use KeyColor=-1 if there is now transparent
color at your image.
FileName - splash bitmap filename (without the .bmp). The BMP file used will be  
this parameter.bmp, and the wave file used (if present) will be this  
parameter.wav.
 
(If you already have an .onInit function, put that in it)
 
Note 1: fadein/fadeout supported only on win2k/winxp systems, all other systems
will show simple splash screen with Delay = Delay + FadeIn + FadeOut.
 
Note 2: transparency supported only for 24bit and 8bit bitmaps.
 
Note 3: the return value of splash is 1 if the user closed the splash  
screen early (pop it from the stack)
 
-Justin
Converted to a plugin DLL by Amir Szekely (kichik)
Fading and transparency by Nik Medved (brainsucker)
=======================================
 
 
J espere que vous pourrez m aider
 
Merci d avance
 
Chris

mood
Publicité
Posté le 26-06-2003 à 12:00:09  profilanswer
 

n°441104
karlkox
Posté le 27-06-2003 à 02:32:28  profilanswer
 

j'ai lu un peu le code source de la dll, de nsis et il est (et sera) tout simplement impossible d'utilise ce plugin car :
- la fonction est exportée en cdecl (incompatible avec vb),
- meme en la modifiant en stdcall, le dernier argument pose probleme car c'est un double pointeur. Ce pointeur pointe sur un pointeur sur fonction mais chez nullsoft on aime faire compliquer et donc pour lire les plugins, nsis décortique le point d'entré de la fonction (de maniere symbolique) et push les arguments de la fonction exportée sur la pile pour ensuite appelé la fonction. Tout cela est théoriquement impossible. Théoriquement, car Randy Birch (un des meilleurs coder VB que je "connaisse" ) a pu démontrer que l'on pouvais utiliser des fonctions en cdecl en utilisant du pseudo code assembleur depuis VB ! La on tombe dans du hardcore VB et dépasse mes compétences ... :(
Par contre, tu peux adapter le code pour l'exporter au format VB et en virant les parametres qui ne sont utiles que pour NSIS.

n°441139
drasche
Posté le 27-06-2003 à 08:31:29  profilanswer
 

pseudo code assembleur? [:cupra]  tu as un link directement dessus?  je connais le site du bonhomme et je le visite de temps en temps mais je n'avais remarqué ça :??:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°441187
karlkox
Posté le 27-06-2003 à 09:17:09  profilanswer
 

j'ai pu le lien mais je croit avoir l'exemple chez moi, je l'uploaderais ce soir =)

n°442759
karlkox
Posté le 28-06-2003 à 19:51:30  profilanswer
 
n°442854
karlkox
Posté le 28-06-2003 à 22:09:54  profilanswer
 

J'ai modifié le code pour l'utiliser depuis VB :
 
http://starnetasso.free.fr/Upload/AdvSplash-VB.zip


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probleme d utilisation d une DLL externe

 

Sujets relatifs
[flash] charger une image externe[VC++] Problème étrange !
[FLASH] J'ai un petit problème de séquence ?[HTML/JS] Problème de Refresh
[C++] Accéder à l'interface d'une DllProblème avec JCreator Pro
Probleme avec if ( )Probleme pour générer dynamiquement une expression
Problème avec list<int>[VB]Problème caractères spéciaux [Resolu]
Plus de sujets relatifs à : Probleme d utilisation d une DLL externe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR