Groups | Search | Server Info | Login | Register
Groups > de.comp.lang.delphi.misc > #19156
| From | Jens Kallup <kallup.jens@web.de> |
|---|---|
| Newsgroups | de.comp.lang.delphi.misc |
| Subject | check Summe ermitteln klappt nicht |
| Date | 2021-12-27 14:05 +0100 |
| Organization | kallup.net - non-profit |
| Message-ID | <j2ts05Fokj7U1@mid.individual.net> (permalink) |
[Multipart message — attachments visible in raw view] - view raw
Hallo,
leider stürtzt das Programm in der unten aufgeführten Funktion
immer ab - bei @checksum in der ShowMessage.
Dort möchte ich gerne eine CheckSum anzeigen.
Danke für Tipps.
Jens
function ComputePEChecksum(FileName: string): DWORD;
var
h, hMap: Cardinal;
pMem: Pointer;
headersum, fsizehigh, fileSizeLow: DWORD;
checksum: PDWORD;
nth: PImageNtHeaders;
p: Pointer;
s: String;
Label
cleanup;
begin
pMem := nil;
Result := 0;
headersum := 0;
checksum := nil;
h := Windows.CreateFile(PChar(FileName), GENERIC_READ, FILE_SHARE_READ,
nil, OPEN_EXISTING, 0, 0);
if (h = INVALID_HANDLE_VALUE) then
begin
ShowMessage('internal error.');
Windows.ExitProcess(1);
end;
fileSizeLow := Windows.GetFileSize(h, @fsizehigh);
hMap := Windows.CreateFileMapping(h, nil, PAGE_READONLY, fsizeHigh,
fileSizeLow, nil);
if (hMap = 0) then
goto cleanup;
pMem := Windows.MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, 0);
if (pMem = nil) then
goto cleanup;
nth := CheckSumMappedFile(pMem, fileSizeLow, @headersum, @checksum);
if (nth = nil) then
checksum := nil;
showmessage(
'size res: ' + IntToStr(fileSizeLow) + #13 +
'size arg: ' + IntToStr(fsizeHigh ) + #13#13 +
'checksum: ' + PChar(checksum^));
cleanup:
if (pMem <> nil) then
Windows.UnmapViewOfFile(pMem);
if (hMap <> 0) then
Windows.CloseHandle(hMap);
if (h <> 0) then
Windows.CloseHandle(h);
Result := checksum^;
end;
Back to de.comp.lang.delphi.misc | Previous | Next — Next in thread | Find similar
check Summe ermitteln klappt nicht Jens Kallup <kallup.jens@web.de> - 2021-12-27 14:05 +0100
Re: check Summe ermitteln klappt nicht Andreas Niggemann <andy-nospam@smss.de> - 2021-12-28 09:31 +0100
Re: check Summe ermitteln klappt nicht Holger Schieferdecker <spamless@gmx.de> - 2022-01-10 11:13 +0100
Stilfrage Aufräumarbeiten (was: check Summe ermitteln klappt nicht) Holger Schieferdecker <spamless@gmx.de> - 2022-01-10 11:03 +0100
Re: Stilfrage Aufräumarbeiten (was: check Summe ermitteln klappt nicht) Jens Kallup <kallup.jens@web.de> - 2022-01-10 13:22 +0100
Re: Stilfrage Aufräumarbeiten Holger Schieferdecker <spamless@gmx.de> - 2022-01-10 13:40 +0100
Re: Stilfrage Aufräumarbeiten Jens Kallup <kallup.jens@web.de> - 2022-01-10 14:30 +0100
csiph-web