Re: Source Windev

Posté par Belette le 25/5/2006 9:30:39
Merci A Totof de bien vouloir m'aider contre de l'argent !

Avec un peu de temps et de logique j'ai compris le principe, il n'y a rien compliqué et de spécifique dans ce développement.

Il faut appeler la DLL avec ChargeDll et ensuite faire appel aux fonctions internes de la DLL avec API() ou appelDll32.

Exemple :
// Déclaration des variables utilisée dans le bloc D'initialisation ( lequel bloc fait 512 octets )

GLOBAL
Scan_finger est compose de
b1 est une chaine fixe sur 1 // ( 1 octet )
b2 est une chaine fixe sur 1 // ( 1 octet )
b3 est une chaine fixe sur 1 // ( 1 octet )
b4 est une chaine fixe sur 1 // ( 1 octet )
func est une chaine fixe sur 1 // ( 1 octet )
r_code est un entier // ( 2 octets )
ext_err est une chaine fixe sur 10 // ( 10 octets )
vers est une chaine fixe sur 2 // ( 2 octets )
Finger_no est un entier long // ( 4 octets )
dd_sn est un entier // ( 2 octets)
p_code est une chaine fixe sur 9 // ( 9 octets )
p_name est une chaine fixe sur 13 // ( 13 octets )
remainder est une chaine fixe sur 465 // = 512- la somme des octets déjà déclarés soit 47 = 465
fin

Procédure finger()
// Déclaration des variables dans lesquelles seront retournés le résultat des fonctions
// ChargeDLL et AppelDLL & AppelDLL32 ou Api
hlib1,hlib2 sont des entiers longs

hlib1=chargedll("Ma_Dll.dll")


// Controle si la DLL a bien été chargée
si hlib1=0 alors
info("Impossible de charger la DLL","Fermez, puis relancer Windows")
finprogramme
sinon
// Si la DLL a été chargée alors on appel la fonction d'initialisation

hlib2=appeldll32(Ma_Dll.dll","SacnInit",&Scan_Finger)

// Idem pour le reste des fonctions interne
GetNumDevice
SetNumdevice
Etc...

Merci
David

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=4067&post_id=16917