![]() |
Problem mit alternativer Format-Funktion
Hi,
ich habe aus Luckie's Toolbox folgende Format-Funktion:
Delphi-Quellcode:
Nun ist das Problem, dass bei dem Aufruf
function Format(fmt: string; params: array of const): string;
var pdw1, pdw2: PDWORD; i: integer; pc: PCHAR; begin pdw1 := nil; if length(params) > 0 then GetMem(pdw1, length(params) * sizeof(Pointer)); pdw2 := pdw1; for i := 0 to high(params) do begin pdw2^ := DWORD(PDWORD(@params[i])^); inc(pdw2); end; GetMem(pc, 1024 - 1); try SetString(Result, pc, wvsprintf(pc, PCHAR(fmt), PCHAR(pdw1))); except Result := ''; end; if (pdw1 <> nil) then FreeMem(pdw1); if (pc <> nil) then FreeMem(pc); end;
Delphi-Quellcode:
dann im Nachhinein f ausgegeben wird. Das Problem ist nicht da, wenn ich die SysUtils wieder einbinde und das dann aufrufe. Denn dann wird die Zahl korrekt ausgegeben.
format('%.0f', [TimerLow / (1000.0 * TimeOfDelay)])
Kann mir da jemand helfen? Chris |
Das Programmieren wird eben schwerer, wenn man die Highlevel Funktionen der RTL nicht nutzen will.
|
Und was willst du mir damit jetzt sagen? Außer, dass man es eben selbst schuld ist, dass man nonVCL programmiert.
Chris |
Deine Zeigerumwandlung ist komplett falsch. Lese dir mal in der Delphi Hilfe den Text zum Index "Variante offene Array-Parameter" durch.
|
Hi,
hat sich jetzt auch erledigt, da ich es nicht mehr brauche... Desweiteren habe ich diese Funktion nicht geschrieben. Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 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