Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Runtime error 216 at 77D18C2C (https://www.delphipraxis.net/17267-runtime-error-216-77d18c2c.html)

Pseudemys Nelsoni 2. Mär 2004 12:01

Re: Runtime error 216 at 77D18C2C
 
Moin,

das geht aber nicht, ich weiss ja nicht ob luckie da nen fehler hatte, aber "Gefunden" ist vom typ Cardinal und die funktion "ReadFile" gibt einen Boolean zurück

Luckie 2. Mär 2004 12:03

Re: Runtime error 216 at 77D18C2C
 
Richtig, war ein kleiner fehler:
Delphi-Quellcode:
var
  Gelesen: Cardinal;
begin
  while Gelesen = 1024 do
  begin
    ReadFile(..., ..., 1024, Gelesen, nil)
    // mach was mit den Bytes
  end;

APP 2. Mär 2004 12:04

Re: Runtime error 216 at 77D18C2C
 
Hallo,
ich dachte eher an
Zitat:

Zitat von Pseudemys Nelsoni
Code:
  MessageBox(0, PChar([color=red]IntToStr[/color](NumberOfBytesRead)), 'hi', 0);

da NumberOfBytesRead vom Typ Cardinal ist.

Pseudemys Nelsoni 2. Mär 2004 12:10

Re: Runtime error 216 at 77D18C2C
 
hallo luckie,

würdest du mir die schleife bzw den ganzen part des codes erklären?
ich verstehe nicht wie die schleife je ausgeführt wird, weil sie ja irgendwie nie "true" wird oder? ich meine am anfang hat die variable ja nicht den wert 1024.

@APP: ich mache das (leider) ohne die VCL, da es ein patch wird (der nur ein string aus einer dll ersetzt) und den wollt ich nicht gerade 500kb gross werden lassen *g*

also IntToStr gibt es nicht

APP 2. Mär 2004 12:18

Re: Runtime error 216 at 77D18C2C
 
Hallo,

tja, das mit NonVCL hast Du mir vergessen zu sagen :( ,
dann musst Du Dir etwas Einfallen lassen, denn dieser
Cast verursacht Deine Fehlermeldung
(da "NumberOfBytesRead" ja vom Typ Cardinal ist):

Delphi-Quellcode:
VAR
  NumberOfBytesRead                               : Cardinal;
BEGIN
  NumberOfBytesRead := 1;
  MessageBox(0, PChar(STRING(NumberOfBytesRead)), 'hi', 0); //Crash
END;

Pseudemys Nelsoni 2. Mär 2004 12:22

Re: Runtime error 216 at 77D18C2C
 
hm, ich kenn keine möglichkeit einen integer in einen string umzuwandeln

Luckie 2. Mär 2004 12:23

Re: Runtime error 216 at 77D18C2C
 
Lad dir meine Toolbox runter, da ist alles drin.

Pseudemys Nelsoni 2. Mär 2004 13:02

Re: Runtime error 216 at 77D18C2C
 
ah danke, mit Str gehts :mrgreen:


eine frage nebenbei(für sowas möcht ich kein thema aufmachen), was ist das:

Delphi-Quellcode:
function FloatToStr(Value: Extended; Width, Decimals: Integer): string;
begin
  Str(Value:Width:Decimals, result);
end;
wofür stehen die ":" ? hab ich u.a mit bei der toolbox gefunden

Luckie 2. Mär 2004 13:04

Re: Runtime error 216 at 77D18C2C
 
Ich kann auch nur Befehle, Funktionen und Proceduren verwenden, die mir Delphi anbietet. Und die Hilfe dazu findet man in der Regel... Na? Wo? ... ;)

Mit Str mag es wohl gehen, aber wie wäre es mit IntToStr ais der Toolbox? :roll:

Pseudemys Nelsoni 2. Mär 2004 13:26

Re: Runtime error 216 at 77D18C2C
 
ah

Zitat:

Delphi-Syntax:

procedure Str(X [: Width [: Decimals ]]; var S);

jo die funktion IntToStr benutz ich dann, danke =]


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz