Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

Re: C Funktion, um zwei Strings zu verbinden in DLL

  Alt 16. Aug 2006, 17:54
So, ich habe die Funktion jett noch etwas erweitert:
Code:
EXPORT int addstr(char *str1, char *str2, char *buffer, int lenbuffer)
{   
   if(strlen(str1) + strlen(str2) < lenbuffer)
   {
      return strlen(str1) + strlen(str2);
   }
   else
   {
      strcpy(buffer, str1);  
      strcat(buffer, str2);
      return strlen(buffer);
   }
}
Allerdings bekomme ich jetzt eine AV beim ersten Aufruf:
Delphi-Quellcode:
   @AddStr := GetProcAddress(hLib, 'addstr');
    if Assigned(AddStr) then
    begin
      str1 := 'Hello ';
      str2 := 'World';
      len := AddStr(PChar(str1), PChar(str2), nil, 0);
      GetMem(Buffer, len);
      try
        len := AddStr(PChar(str1), PChar(str2), Buffer, sizeof(Buffer));
        ShowMessage(string(Buffer) + '[' + IntToStr(len) + ']');
      finally
        FreeMem(Buffer);
      end;
    end
It also auch noch nicht so ganz das ware.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat