AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem mit PAnsiChar und Rückgabewert einer Funktion CryptoSys PKI
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit PAnsiChar und Rückgabewert einer Funktion CryptoSys PKI

Ein Thema von Back2Code · begonnen am 7. Sep 2015 · letzter Beitrag vom 7. Sep 2015
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Problem mit PAnsiChar und Rückgabewert einer Funktion CryptoSys PKI

  Alt 7. Sep 2015, 14:38
Ich hab dann auch nochmal geschaut und was sehen wir?
Delphi-Quellcode:
function CMS_ReadSigDataToString(
  szDataOut:Pchar;
  nDataOutLen:longint;
  szFileIn:Pchar;
  nOptions:longint):longint;cdecl;
  external External_library name 'CMS_ReadSigDataToString';
Also doch ein Pointer. Dass es mit AnsiString funktioniert ist eher Zufall.

Ach ja, das mit dem PChar haben die auch nicht verstanden.
Zitat:
Strings and byte arrays that receive output need to be pre-dimensioned to the correct length before calling a DLL function. Then pass a Pointer as the parameter.
Delphi-Quellcode:
buf : AnsiString;
//...
buf := AnsiString(StringOfChar(#0,nchars));
ret := FOO_StringFunction(Pointer(buf), nchars, ...);
arrbytes : Array of Byte;
//...
SetLength(arrbytes, nbytes);
ret := FOO_ByteFunction(Pointer(arrbytes), nbytes, ...);
These output parameters are expected as PChar PAnsiChar and PByte respectively. [PChar also seemed to work OK for us in early tests and the compiler didn't complain either].
Und nun reservierst du Speicher um diesen in einen anderen Bereich zu kopieren und dann den reservierten wieder zu verwerfen. Gut, das kann man machen, muss man aber nicht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 7. Sep 2015 um 14:40 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz