Einzelnen Beitrag anzeigen

Benutzerbild von rey003
rey003

Registriert seit: 31. Aug 2005
Ort: Sachsen ;-)
46 Beiträge
 
Delphi 2006 Architect
 
#11

Re: C++ Dll soll Zeichenkette manipulieren

  Alt 7. Feb 2009, 17:51
So nach einer Woche krank im Bett rumliegen meld ich mich mal wieder zu Wort.
Zunächst erstmal ein Danke für eure Bemühungen.

Ich poste einfach mal meinen derzeitigen Quelltext
DLL:
Code:
extern "C" __declspec(dllexport) int String_aendern(char * sstring);

...

int String_aendern(char * sstring)

   MessageBox(0,LPCSTR(sstring),_T("M1"),0); //bringt: Alter Text

   char newtxt[] = "Neuer Text";
   sstring = newtxt;
   MessageBox(0,LPCSTR(sstring),_T("M2"),0); //bringt: Neuer Text

   return strlen(sstring);
}
Das Gegenstück dazu in Delphi:
Delphi-Quellcode:
function String_aendern(sstring: PChar): Integer; cdecl; external 'DLL.dll';

procedure TForm1.Button1Click(Sender: TObject);
var
  len: integer;
  buffer: array [0..30] of char;
begin
  buffer:= 'Alter Text';

  len:=String_aendern(@buffer); //in dem Fall 10
  showmessage(StrPas(buffer)); //bringt: Alter Text
end;
Der Text in Buffer wird jedoch gar nicht verändert (laut Delphi-Debugger).
Warum ändert er die Variable nicht?
Daniel S.
  Mit Zitat antworten Zitat