OK, es ging mir ja erstmal nur darum, unnötige Arbeit zu ersparen,
also falls sich dieses durch ein "sicheres" System" hätte ersetzen lassen können.
A: Welche Delphi-Version nutzt du?
B:
Zitat:
Dann habe ich chsd_Reset auf das Onclick Event eines Buttons gelegt
Ähhhh, was hast du da genau gemacht?
Vielleicht zeigst du mal etwas Code, wie du es nun selber versucht hattest.
Aus dem Demo-Code (Beispiel aus der ReadMe) sieht man ja nicht, was du in deinem Code machst.
C: Hier mal die übersetzen Header für alle Delphiversionen (auch 2009 und 2010):
Delphi-Quellcode:
{$ALIGN 4}
const
NS_DLL = 'chsdet.dll';
NS_OK = 0;
NS_ERROR_OUT_OF_MEMORY = $8007000e;
types
TCharsetInfo = record
Name: PAnsiChar; // charset name
CodePage: LongInt; // MS Windows CodePage id
Language: PAnsiChar; //
end;
TAboutHolder = record
MajorVersionNr: LongWord; // Library's Major Version
MinorVersionNr: LongWord; // Library's Minor Version
BuildVersionNr: LongWord; // Library's Build/Release Version
About: PAnsiChar; // Copyleft information
end;
TBOMKind = (
BOM_Not_Found,
BOM_UCS4_BE, // 00 00 FE FF UCS-4, big-endian machine (1234 order)
BOM_UCS4_LE, // FF FE 00 00 UCS-4, little-endian machine (4321 order)
BOM_UCS4_2143, // 00 00 FF FE UCS-4, unusual octet order (2143)
BOM_UCS4_3412, // FE FF 00 00 UCS-4, unusual octet order (3412)
BOM_UTF16_BE, // FE FF ## ## UTF-16, big-endian
BOM_UTF16_LE, // FF FE ## ## UTF-16, little-endian
BOM_UTF8 // EF BB BF UTF-8
);
procedure chsd_Reset; stdcall;
external NS_DLL;
function chsd_HandleData(aBuf: PAnsiChar; aLen: LongInt): LongInt; stdcall;
external NS_DLL;
function chsd_Done: Boolean; stdcall;
external NS_DLL;
procedure chsd_DataEnd; stdcall;
external NS_DLL;
function chsd_GetDetectedCharset: TCharsetInfo; stdcall;
external NS_DLL;
procedure chsd_GetKnownCharsets(var KnownCharsets: PAnsiChar); stdcall;
external NS_DLL;
procedure chsd_GetAbout(var About: TAboutHolder); stdcall;
external NS_DLL;
function csd_GetDetectedBOM: TBOMKind; stdcall;
external NS_DLL;
procedure csd_DisableCharsetCP(CodePage: LongInt); stdcall;
external NS_DLL;