Tak, men jeg kendte godt indholdet. Det er ikke declare funktionaliteten der (ser ud til) at genere mig.
Jeg tror at det er de enkelte typer - om jeg skal bruge Integer, Long eller hvad i VB. Specielt tror jeg at en pointer til characters kunne give problemer.
Jeg har siden jeg postede declareret således:
Declare Ansi Function B_Tresholds Lib "Hhk44.dll" Alias "Thresholds" _ (ByVal I_Flags As Integer, ByVal i_type As String, ByVal I_CC As Integer, ByVal I_Ref As String, _ ByVal I_TO As Double, ByVal I_FI As Integer, ByVal I_OP As Integer, ByVal I_CR As Single, ByVal I_Range As Integer, _ ByRef O_OP As Integer, ByRef O_TCmin As Double, ByRef O_TCmax As Double, ByRef O_Err As String) As Integer
Og denne form crasher i det mindste ikke ved kaldet, men jeg får en fejlkode der grundlæggende betyder "Aner ikke hvad der skete...", så måske er der stadig problemer med typer som så ikke bliver "oversat" korrekt.
Tak, men jeg kendte godt declare syntaksen. Jeg tror at mit problem ligger i type definition og deraf følgende omsætning i kaldet.
Jeg har siden deklareret således
Declare Ansi Function B_Tresholds Lib "C:\Program Files\Wbitzer\Hhk44.dll" Alias "Thresholds" _ (ByVal I_Flags As Integer, ByVal i_type As String, ByVal I_CC As Integer, ByVal I_Ref As String, _ ByVal I_TO As Double, ByVal I_FI As Integer, ByVal I_OP As Integer, ByVal I_CR As Single, ByVal I_Range As Integer, _ ByRef O_OP As Integer, ByRef O_TCmin As Double, ByRef O_TCmax As Double, ByRef O_Err As String) As Integer
Hvor skiftet til Ansi gjorde at den i det mindste ikke crashede i kaldet (noget med string typen). Men jeg får en fejlkode som antyder at den ikke aner hvad der gik galt.
Jeg er mest ude efter om type definitionerne er korrekte (eller om der er andet der stikke i øjnene)
Erindrer noget fra et word-projekt: Den "string" der skal overføres, skal kunne være i memory-en (være "lang-nok")
ie. hvis du vil returnere ex. 20 tegn fra din eksterne funktion, så skal de kunne være i basic-variablen. Inden kaldet kan denne så være fyldt den med 20 spaces.
Du kan evt. indledningsvis lave en funktion der kun overfører én variabel. Iøvrigt kan du godt 'debugge' dll-en on the fly.
Tak, men ærgeligt du ikke fik det til at virke :-( Jeg arbejdede med det i D 7.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.