30. marts 2001 - 02:12Der er
2 kommentarer og 2 løsninger
DELPHI DLL interface til C++
Hej
Jeg vil gerne oprette en række strenge i mit C++ program og derefter kalde min DELPHI DLL med en pointer til disse streng for derefter, at manipulere strengene direkte ud fra pointerne i DLL\'en. Derefter returnere til C++ med de nu ændrede strenge.
Jeg har lavet en DELPHI DLL der indeholder følgende function: function GetData(Source, Dest : PChar; MaxLength : Integer) : Integer; begin Dest := \'bla. bla.\'+#0; Result := 10; end;
Problemet er bare, at den ændrede \"Dest\" ikke bliver skrevet tilbage til min C++ kode.
Delphi giver også en advarsel om, at \"Value assigned to \'Dest\' never used.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kan ikke overføre pointere mellem to \"programmer\" med mindre de ligger i samme adresseområde, altså som om det var ét program. Det kan skyldes den måde du benytter din DLL-fil på. Jeg har ikke lige 100% styr på hvordan man gør, men det er da en \"ledetråd\"...
function GetData(cData : PChar; nLength : Integer) : Integer; cdecl; const Data = \'bla. bla.\' var i: Integer; Begin i := 0; while (i < nLength) and (cData[i] <> #0) and (i < Length(Data)) do begin cData[i] := Data[i+1]; Inc(i); end; cData[i] := #0; Result := Length(Data); end;
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.