utilisation d'un programme en pascal
Stagiaire WDF
Inscrit:
06/01/2005 11:37
Post(s): 32
Bonsoir à tous.

Voila il est écrit dans l'aide:
"Il est également possible d'utiliser des traitements écrits dans un langage externe (sous forme de librairies compilées) dans une application WinDev. Il faut pour cela compiler une librairie (fichier ".DLL" ou ".OCX") en langage externe puis appeler les traitements de cette librairie grâce à la fonction W-LangageAPI ou AppelDLL32."
Ma question est la suivante:
Est ce que quelqu'un sait ou je peux trouver un fichier DLL ou OCX pour utiliser dans mon programme windev du code en pascal


Ou alors si vous pouvez me dire comment utiliser les fonctions qui sont dans une dll. la doc est peut explicite et le programme qui utilise cette dll est en pascal(cf ci-dessus).

Pour plus d'infos, envoyer moi un mail:alexandre.madier@wanadoo.fr

Contribution le : 28/01/2005 20:21
Créer un fichier PDF de la contribution Imprimer


Re: utilisation d'un programme en pascal
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Pour utiliser un activeX avec WinDev.
Quelque soit le langage utilisé pour la création de cette ActiveX il est utilisable avec Windev.

Pré-Requis
Cette ActiveX doit avoir été préalablement enregistré dans la base de registre

Regsvr32

Utiliser l'icone de barre d'outil représentant un ActiveX et faites glisser sur votre fenêtre.
Un double clic sur le nouvel objetActiveX vous ouvre une fenêtre propriéte de l'activeX.
Sélectionner dans la combo l'activeX voulu.
exemple :
Le nom de l'objet ActiveX se nomme MonActiveX
Il ne vous reste plus qu'au niveau du code de saisir:

MonActiveX>>

Et vous verrez une liste s'afficher avec les propriétés et méthodes de votre activeX.

En ce qui concerne les Dll il existe deux cas :

-Les Dlls bibliothèques
-Les Dlls ActiveX

Pour les Dlls ActiveX, il faut instancier le serveur.
Exemple
MonActive est un objet automation dynamique <Nom du serveur>.<Classe>

Une fois la dll ActiveX instantier il vous faut saisir
MonActiveX>>
Puis le nom de la méthode ou bien de la propriété

pour les dlls classiques:
l'enregistrement de la dll n'est pas nécessaire, et l'appel diffère à celle d'une dll activeX .

[Code]
= AppelDll32(, [, Paramètre1][,ParamètreN])
[/code]
Pour optimiser l'appel de ce genre de dll il peut être nécessaire de charger au préalable en mémoire la dll afin d'en optimiser les appels.
Voir la fonction ChargeDll("MaDll.dll")

DechargeDll("MaDll.dll") à la fin du traitement pour décharger la dll.

NB:certains types de variables en pascal ne sont pas reconnus en pascal ou pose des problèmes
Exemple
L'utilisation de tableau en paramètre des fonctions de dll peuvent poser des problèmes.

Contribution le : 29/01/2005 03:26
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: utilisation d'un programme en pascal
Stagiaire WDF
Inscrit:
06/01/2005 11:37
Post(s): 32
Citation :
NB:certains types de variables en pascal ne sont pas reconnus en pascal ou pose des problèmes
Exemple
L'utilisation de tableau en paramètre des fonctions de dll peuvent poser des problèmes.


Mon problème est justement là. si je comprends bien la doc fournie avec la DLL(cf doc ci-dessous), je dois déclarer des structures, et dans certaines de ces structures, il y a des tableaux de structures et se sont ces mêmes tableaux que je doit passer en paramètres à ma DLL. Le problèmes est que je ne récupère que des 0 ou j'ai un message d'erreur qui apparaît me disant qu'il y a incompatibilité lors de l'affectation.

DiscIDCalcDLL Documentation

Functions

AspiInstalled

The AspiInstalled function checks if the Aspi drivers are correctly installed.

function AspiInstalled: Integer;


Return Values:
If the function succeeds, the return value is the number of hosts installed in the system.
If the function fails, the return value is -1.

CalcDiscID

The CalcDiscID calculates the DiscID from the TOC (Table of Contents).

function CalcDiscID(CdToc: TCdToc): Cardinal;

Parameters:
CdToc

Return Values:
The return value is the DiscID.

GetCdRomDrives

The GetCdRomDrives scans for Cd-Rom installed on the system and retrieves informations over the Cd-Rom drive.

function GetCdRomDrives(var CdRom: TCdRoms): Boolean;

Parameters:
CdRoms

Return Values:
If the function succeeds, the return value is TRUE.
If the function fails, the return value is FALSE.

ReadCdToc

The ReadCdToc read the TOC from a spedified Cd-Rom drive.

function ReadCdTOC(CdRom: TCdRom; var Toc: TCdToc): Boolean;

Parameters:
CdRom
Toc

Return Values:
If the function succeeds, the return value is TRUE.
If the function fails, the return value is FALSE.

Types
TCdRom = record
HaId : Byte;
Target : Byte;
Lun : Byte;
Vendor : ShortString;
ProductId : ShortString;
Revision : ShortString;
VendorSpec: ShortString;
end;

TCdRoms = record
CdRomCount: Byte;
CdRom : array[0..25] of TCdRom;
end;

TTOC = record
M: Byte;
S: Byte;
F: Byte;
AudioTrack: Boolean; // indicates if the track is an audio or data track
end;

TCdToc = record
TracksOnCD: Byte;
LeadOut : TTOC;
Tracks : array[0..99] of TTOC;
end;

Contribution le : 29/01/2005 09:44
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2