Bonjour,
Je dois utiliser à partir de Vb (ou Access) la fonction algo() d'une Dll
Delphi selon :
function algo(data0,data1,data2,data3,data4:pchar):pchar;
Pour cela je déclare selon :
Public Declare Function algo Lib "Algo.dll" (ByVal data0 As String, ByVal
data1 As String, ByVal data2 As String, ByVal data3 As String, ByVal data4 As
String) As String
Avec l'appel :
Dim MyStr$
MyStr$ = algo("1", "a", "b", "c", "d")
Ce qui provoque un plantage !!
Que dois-je corriger ???
D'avance merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-marc
pascal1967 wrote:
Bonjour, Je dois utiliser à partir de Vb (ou Access) la fonction algo() d'une Dll Delphi selon : function algo(data0,data1,data2,data3,data4:pchar):pchar;
Pour cela je déclare selon : Public Declare Function algo Lib "Algo.dll" (ByVal data0 As String, ByVal data1 As String, ByVal data2 As String, ByVal data3 As String, ByVal data4 As String) As String
Avec l'appel : Dim MyStr$ MyStr$ = algo("1", "a", "b", "c", "d")
Ce qui provoque un plantage !! Que dois-je corriger ??? D'avance merci
A voir avec le concepteur de la dll. Sinon, des infos ici dans la FAQ: http://faq.vb.free.fr/index.php?question4 En fin d'article, il y a des tas de liens vers des ressources utiles.
Bonjour,
Je dois utiliser à partir de Vb (ou Access) la fonction algo() d'une
Dll Delphi selon :
function algo(data0,data1,data2,data3,data4:pchar):pchar;
Pour cela je déclare selon :
Public Declare Function algo Lib "Algo.dll" (ByVal data0 As String,
ByVal data1 As String, ByVal data2 As String, ByVal data3 As String,
ByVal data4 As String) As String
Avec l'appel :
Dim MyStr$
MyStr$ = algo("1", "a", "b", "c", "d")
Ce qui provoque un plantage !!
Que dois-je corriger ???
D'avance merci
A voir avec le concepteur de la dll.
Sinon, des infos ici dans la FAQ:
http://faq.vb.free.fr/index.php?question4
En fin d'article, il y a des tas de liens vers des ressources utiles.
Bonjour, Je dois utiliser à partir de Vb (ou Access) la fonction algo() d'une Dll Delphi selon : function algo(data0,data1,data2,data3,data4:pchar):pchar;
Pour cela je déclare selon : Public Declare Function algo Lib "Algo.dll" (ByVal data0 As String, ByVal data1 As String, ByVal data2 As String, ByVal data3 As String, ByVal data4 As String) As String
Avec l'appel : Dim MyStr$ MyStr$ = algo("1", "a", "b", "c", "d")
Ce qui provoque un plantage !! Que dois-je corriger ??? D'avance merci
A voir avec le concepteur de la dll. Sinon, des infos ici dans la FAQ: http://faq.vb.free.fr/index.php?question4 En fin d'article, il y a des tas de liens vers des ressources utiles.
Malheureusement le concepteur est parti élever des chèvres dans le Larzac !! J'ai le code par contre si ça peut aider :
unit Ualgo;
interface
uses SysUtils, Registry;
Var Alias , Table_Client, Mat: String;
function result_algo(data0,data1,data2,data3,data4:pchar):pchar;
{******************************} function result_algo(data0,data1,data2,data3,data4:Pchar):Pchar;
var field1,field2,field3,field4:string; numero:integer; resultat:string;
Presultat:Array[0..255]OF char;
Begin numero:=strtoint(strpas(data0)); field1:=strpas(data1); field2:=strpas(data2); field3:=strpas(data3); field4:=strpas(data4);
case numero of 1:resultat:Êlcul_algo1(field1,field2,field3,field4); 2:resultat:Êlcul_algo2(field1,field2,field3,field4); 3:resultat:Êlcul_algo3(field1,field2,field3,field4); end;
Malheureusement le concepteur est parti élever des chèvres dans le Larzac !!
J'ai le code par contre si ça peut aider :
unit Ualgo;
interface
uses
SysUtils, Registry;
Var
Alias , Table_Client, Mat: String;
function result_algo(data0,data1,data2,data3,data4:pchar):pchar;
{******************************}
function result_algo(data0,data1,data2,data3,data4:Pchar):Pchar;
var
field1,field2,field3,field4:string;
numero:integer;
resultat:string;
Presultat:Array[0..255]OF char;
Begin
numero:=strtoint(strpas(data0));
field1:=strpas(data1);
field2:=strpas(data2);
field3:=strpas(data3);
field4:=strpas(data4);
case numero of
1:resultat:Êlcul_algo1(field1,field2,field3,field4);
2:resultat:Êlcul_algo2(field1,field2,field3,field4);
3:resultat:Êlcul_algo3(field1,field2,field3,field4);
end;
Malheureusement le concepteur est parti élever des chèvres dans le Larzac !! J'ai le code par contre si ça peut aider :
unit Ualgo;
interface
uses SysUtils, Registry;
Var Alias , Table_Client, Mat: String;
function result_algo(data0,data1,data2,data3,data4:pchar):pchar;
{******************************} function result_algo(data0,data1,data2,data3,data4:Pchar):Pchar;
var field1,field2,field3,field4:string; numero:integer; resultat:string;
Presultat:Array[0..255]OF char;
Begin numero:=strtoint(strpas(data0)); field1:=strpas(data1); field2:=strpas(data2); field3:=strpas(data3); field4:=strpas(data4);
case numero of 1:resultat:Êlcul_algo1(field1,field2,field3,field4); 2:resultat:Êlcul_algo2(field1,field2,field3,field4); 3:resultat:Êlcul_algo3(field1,field2,field3,field4); end;
Poser la question sur un forum Delphi, pourquoi pas?
Autre solution, lourde mais élégante à la fois:
Faire une Dll en C qui invoque la dll en Delphi: pour ça, tu trouveras de l'aide sur un froum Delphi, ils font surement ça de temps en temps, comme tout le monde.
Une fois que tu as ta Dll en C, reviens ici: on sait appeler des Dll en C depuis VB.
Poser la question sur un forum Delphi, pourquoi pas?
Autre solution, lourde mais élégante à la fois:
Faire une Dll en C qui invoque la dll en Delphi: pour ça, tu trouveras de
l'aide
sur un froum Delphi, ils font surement ça de temps en temps, comme tout
le monde.
Une fois que tu as ta Dll en C, reviens ici: on sait appeler des Dll en C
depuis
VB.
Poser la question sur un forum Delphi, pourquoi pas?
Autre solution, lourde mais élégante à la fois:
Faire une Dll en C qui invoque la dll en Delphi: pour ça, tu trouveras de l'aide sur un froum Delphi, ils font surement ça de temps en temps, comme tout le monde.
Une fois que tu as ta Dll en C, reviens ici: on sait appeler des Dll en C depuis VB.