AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Runtime error 216 at 77D18C2C

Ein Thema von Pseudemys Nelsoni · begonnen am 2. Mär 2004 · letzter Beitrag vom 26. Mai 2004
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 11:01
hallo,

woher kommt obiger fehler? auf jedenfall wird dieser durch folgendes ausgelöst:

Delphi-Quellcode:
  hFile := CreateFile(PChar(pfad),
           GENERIC_READ or GENERIC_WRITE,
           FILE_SHARE_READ or FILE_SHARE_WRITE,
           nil,
           OPEN_EXISTING,
           0,
           0
  );

    ReadFile(hFile, buf, SizeOf(buf), NumberOfBytesRead, nil);
  MessageBox(0, PChar(string(NumberOfBytesRead)), 'hi', 0);
Mario
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 11:12
Ist buf in der erforderlichen Größe bereitgestellt??
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#3

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 11:12
Ein Runtime Error 216 ist eine Zugriffsverletzung. Hast u für Deinen Buffer genug Speicher reserviert?

Gruß, teebee
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 11:45
hallo,

der buffer sah so aus:

buf: Array[0..4095] of Char;
aber selbst wenn ich " buf: Array[0..1000000000] of Char;" nehme (was ziemlich lagt ) kommt der fehler..
Mario
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 11:56
Hast Du schon mal überprüft, ob handle <> NIL ist? Vielleicht solltest Du auch noch ein Typecast auf die Winapi32-Typen machen.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 12:13
Code:
  if (hFile <> 0) then messagebox(0, 'hi', 'hi', 0);

die message wird ausgegeben, also existiert das handle.

was meinst du mit api typen?
Mario
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#7

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 12:18
[equote="In den MS Win32 Developer's References steht geschrieben"]HANDLE CreateFile(

LPCTSTR lpFileName, // pointer to name of the file
DWORD dwDesiredAccess, // access (read-write) mode
DWORD dwShareMode, // share mode
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // pointer to security attributes
DWORD dwCreationDistribution, // how to create
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile // handle to file with attributes to copy
);[/equote]
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 12:24
Hallo Pseudemys Nelsoni,

CreateFile gibt bei einem fehlerhaften Handle
Zitat:
INVALID_HANDLE_VALUE = DWORD(-1);
zurück, daher mußt Du auf

Delphi-Quellcode:
  IF hFile = INVALID_HANDLE_VALUE THEN
  // Fehler
oder auf -1 und nicht auf 0 prüfen.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#9

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 12:28
und wie zeig ich das als string an r_kerber?

btw:

if (hFile <> INVALID_HANDLE_VALUE) then messagebox(0, 'hi', 'hi', 0); ´


zeigt ebenfalls die messagebox

will nur solch nen doofen string in einer dll ersetzen, man ist das schwer
Mario
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Runtime error 216 at 77D18C2C

  Alt 2. Mär 2004, 12:48
Zitat von Pseudemys Nelsoni:
...und wie zeig ich das als string an r_kerber?
Luckie hat Dir hier http://www.delphipraxis.net/internal...light=readfile schon die Antwort gegeben.
Stichwort: NumberOfBytesRead (=Gelesen von Luckie) ist vom Typ ...)
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 19:57 Uhr.
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