Pages: (5) [1] 2 3 ... Last »  ( Go to first unread post ) Reply to this topicStart new topicStart Poll

> bibliothéque en delphi, recherche exemple de bda en delphi
chtiot
Posted: 14/02/06 10:34
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



Bonjour,


je recherche un exemple de bibliothèque simple en Delphi avec son fichier .def.

y-a t'il quelque chose de spécial à faire ?

en fait j'ai écrit une petite dll basique et j'ai toujours une erreur 135 à l'appel d'une fonction de la bibliothèque dans mon appli abal, sous windows xp, avec wexa16.


merci

ma bibliothéque en delphi :

CODE
library INCDEC;

function PrlInc(Valeur:integer; Pas:integer):integer;safecall;
begin
 Result := Valeur + Pas;
end;

function PrlDec(Valeur:integer; Pas:Integer):integer;safecall;
begin
 Result := Valeur - Pas;
end;

exports
 PrlInc,
 PrlDec;

begin
end.


mon incdec.def :

CODE
version = 1
runtime = "incdec.dll"

%PrlInc(%,#)
%PrlDec(%,#)
end


mon programme de test :

CODE
#USER "IncDec"

program "testdll2"

field=m
dcl e%
segment 0

print=1: "testdll2.at", tabv(1)
on error goto &err,e
print=1:tab(01,03),("128+2 = ",-n4),PrlInc(128,2)
print=1:tab(01,05),("3-7 = ",-n4),PrlDec(3,7)
print=1:tabv(2)
pause ".../..."
stop
&err print=1:bell,tab(01,09),("Erreur ",nnz),e
pause " .../..."
stop
eseg 0

end


This post has been edited by chtiot on 14/02/06 10:38
PM
Top
root
Posted: 14/02/06 11:39
Quote Post


God of the forum
*******

Group: Admin
Posts: 6101
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



135 c'est dll non trouvé je crois
tu l'as placé où ta dll ?
avec quel outil travailles tu ?
wabal2 ou wabal3
quel version d'executeur etc ...
PM
Top
Marcelino
Posted: 14/02/06 12:44
Quote Post


Hyper User
*****

Group: Spanish
Posts: 532
Member No.: 717
Joined: 22/02/05
Submissions: None Submitted
Downloads: 1



QUOTE

1.2. L'INTERFACE AVEC D'AUTRES LANGAGES

ABAL peut être interfacé avec n'importe quel langage, au moyen du mécanisme général décrit précédemment.
La fourniture standard, quant à elle, ne permet un interfaçage direct que avec les langages C/C++ et assembleur.

Cet interface nécessite en effet une couche logicielle au niveau de la bibliothèque dynamique elle-même, et celle-ci dépend du langage utilisé.
Cette couche logicielle est par la suite dénommée chapeau de la bibliothèque.

Par ailleurs, le passage des paramètres entre un programme ABAL et une bibliothèque dynamique respecte un certain protocole : il s'agit de celui mis en oeuvre par le langage C.

Il n'est pas inconcevable de réaliser une bibliothèque dynamique dans un autre langage (Pascal par exemple) : on devra alors réaliser soi-même le chapeau de la bibliothèque et se conformer au protocole précédemment décrit. Ceci sort du cadre de ce document.


Seulement C/C++/Assembleur ????
PM
Top
chtiot
Posted: 14/02/06 12:45
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



bonjour root,


j'ai installé la dll dans le répertoire de mon appli et j'ai essayé en la mettant dans le dossier wexa16 et dans le dossier windows sans plus d'effet.

j'utilise:

- wabal 2.2a
- wexa 16 bits 2.1f Env 1.4c Make #690

merci de ton aide
PM
Top
puel
Posted: 14/02/06 13:41
Quote Post


Hyper User
*****

Group: Membre
Posts: 833
Member No.: 8
Joined: 31/05/02
Submissions: None Submitted
Downloads: 2



je crains que marcellino ait raison....
cette histoire de chapeau m'a depuis longtemps laissé réveur
sauf si prologue peut nous en donner les caractéristiques

sinon, chaque fois que c'est possible
fonctionner avec des overlays en .at
est plus souple et plus facile à mettre en oeuvre que des dll
(notamment parce qu'on peut s'y connecter et s'en déconnecter
en cours d'application si une bibliothèque correspond à un besoin très spécifique)


pour 135, j'ai comme traduction : Chargement d'une bibliothèque dynamique impossible

PMEmail PosterUsers Website
Top
chtiot
Posted: 14/02/06 13:45
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



l'avantage des dll est qu'on peut utiliser des fonctions indisponibles en abal, donc la solution des overlays n'est pas vraiment intéressante...
PM
Top
root
Posted: 14/02/06 14:00
Quote Post


God of the forum
*******

Group: Admin
Posts: 6101
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



mais l'inconvénient d'une dll c'est qu'elle n'est pas portable

les overlays en .at sont limités à ce que peut faire abal
les dll etendent ces fonctionnalités mais il faut qu'elles soient aussi portable !!!
PM
Top
root
Posted: 14/02/06 14:04
Quote Post


God of the forum
*******

Group: Admin
Posts: 6101
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



à priori prologue a déjà diffusé ces informations
comment réaliser un dll en c
doit bien avoir quelqu'un qui doit avoir cela
Faudrait demandé à antoine qui a fait des dll pour son projet acces abal multi base

Mais il serait vraiment pratique que l'on puisse attaqué n'importe quelle DLL windows sans qu'elle ai été prévue pour abal ;-)

Faudrait que jamie nous dise si cela sera un jour possible , il fait tellement de merveilles depuis quelques temps ;-) peut etre une de plus ;-)


salutations
PM
Top
chtiot
Posted: 14/02/06 14:10
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



j'ai retrouvé un document, le Best Of Infos (Recueil d'informations techniques) du séminaire développeurs d'automne 1996 qui explique comment utiliser des dll standard windows.

un exemple de fichier .def est donné pour la déclaration de la fonction PrintDlg de la dll commdlg.dll.

je vais m'y pencher un peu et viendrai vous tenir informé

PS : dés que j'ai le temps je scannerai ce vieux document pour le mettre en ligne...

This post has been edited by chtiot on 14/02/06 14:12
PM
Top
chtiot
Posted: 14/02/06 17:57
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



voici les pages du best of info du séminaire développeurs d'automne 1996 relatives aux bda


Attached File ( Number of downloads: 234 )
Attached File  Infos_bda.zip
PM
Top
LLC
Posted: 14/02/06 18:06
Quote Post


Hyper User
*****

Group: Membre
Posts: 595
Member No.: 30
Joined: 18/06/02
Submissions: None Submitted
Downloads: 1



1er points : la dll générer est-elle bien 16bits car wexa16

nous utilisons la methode de dll windows

donc on compile la dll avec les numeros de fonction en dur en gérant d'ancien type d'appel (c standard)

puis le .def est de la forme

version 1,num
runtime="nom_de_la_dll sans le .dll"

1:%fonction1($)
2:%fonction2($,$,%)

Etc....


voila , bon courage @+

ps : je precise que nous n'employons que le 32bits alors en 16bits je sais pas si ca marche
PMEmail PosterUsers Website
Top
root
Posted: 14/02/06 18:37
Quote Post


God of the forum
*******

Group: Admin
Posts: 6101
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



ce qui est sur c'est que l'on du passage des dll screener de 16bits à 32bits, il y avait eu des pb avec l'executeur au niveau du nom de la dll : z.dll ou z32.dll
Peut etre voir effectivement au niveau de delphi si c'est une dll 16 ou 32 bits
et se mettre en phase avec l'executeur.

Salutations
PM
Top
chtiot
Posted: 14/02/06 20:46
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



merci de votre aide

je vais essayer de regarder tout ça demain...
PM
Top
chtiot
Posted: 14/02/06 20:48
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



QUOTE (LLC @ 14/02/06 18:05)
nous utilisons la methode de dll windows

donc on compile la dll avec les numeros de fonction en dur en gérant d'ancien type d'appel (c standard)

tes dll sont développées en delphi ?
PM
Top
chtiot
Posted: 15/02/06 14:10
Quote Post


Super User
**

Group: Membre
Posts: 66
Member No.: 100
Joined: 21/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



finalement je crois que je vais laisser tomber car j'y comprends rien et ça me gave ...
PM
Top
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:

Topic Options Pages: (5) [1] 2 3 ... Last » Reply to this topicStart new topicStart Poll

 

webcron.org Get Firefox! prologue-community.org est monitoré par ikoula.fr Referenceur Gratuit www.prologue-community est mis en évidence sur internet grace à daubresse.fr
moteur de recherche - referencement
Conformément à l'article 34 de la loi "Informatique et Liberté" vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent.
Pour l'exercer, merci de nous contacter : CONTACT US

www.prologue-community.org n'est pas enregistré à la CNIL
www.prologue-community.org est hébergé sur visit.fr

www.prologue-community.org est indépendant de la société Prologue
Une grande partie des logiciels et outils cités sur www.prologue-community.org sont des produits et marques déposées par la société Prologue


MKPortal M1.1 Rc1 ©2003-2005 All rights reserved
Page generated in 0.00662 seconds with 2 queries