AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi nonVCL: Runtime Error 216 (Access Violation) bei AssignFile
Thema durchsuchen
Ansicht
Themen-Optionen

nonVCL: Runtime Error 216 (Access Violation) bei AssignFile

Ein Thema von mirage228 · begonnen am 30. Okt 2003 · letzter Beitrag vom 30. Okt 2003
 
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

nonVCL: Runtime Error 216 (Access Violation) bei AssignFile

  Alt 30. Okt 2003, 12:12
Hallo,

ich habe heute morgen mit nonVCL angefangen (übrigens schönes Tutorial @Luckie!)

Es hat auch alles geklappt (Buttons, Label, Edits erstellen etc.), nun wollte das bei einem ButtonClick
die Datei aus dem Editfeld geöffnet und das Reingeschrieben wird. Aber nach dem AssignFile kriege ich eine AccessViolation.


Hier der Code:
Delphi-Quellcode:
function WndProc(hWnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
  x,y: integer;
  f, buffer: Pchar;
  ManifestFile: TextFile;
begin
  Result := 0;

  case uMsg of
    WM_CREATE:
    begin
      x := GetSystemMetrics(SM_CXSCREEN);
      y := GetSystemMetrics(SM_CYSCREEN);
      MoveWindow(hWnd, (x div 2) - (WindowWidth div 2),
        (y div 2) - (WindowHeight div 2),
        WindowWidth, WindowHeight, true);
    end;
    WM_DESTROY:
    begin
      PostQuitMessage(0);
    end;
    WM_COMMAND:
    begin
      if hiword(wParam) = BN_CLICKED then
        case loword(wParam) of
          IDC_BUTTON_QUIT: SendMessage(hWnd, WM_DESTROY, 0, 0);
          IDC_BUTTON_CREATEMANIFEST:
          begin
            GetWindowText(hWndEdit, @f, 1024);
            AssignFile(ManifestFile, String(f)+'.manifest'); // Fehler hiernach!
            ReWrite(ManifestFile);
            wvsprintf(buffer, Manifest, f);
            //wvsprintf(buffer, Manifest, ExtractFileName(f));
            Write(ManifestFile, buffer);
            CloseFile(ManifestFile);
            if GetLastError <> 0 then
              MessageBox(hWnd, 'Vorgang abgeschlossen', 'Information', 64);
          end;
        end;
    end;
    else
      Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
  end;
end;
Manifest (nicht ManifestFile!) ist eine Konstante!

Wo liegt mein Fehler?

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
 


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 03:36 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