Einzelnen Beitrag anzeigen

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, 13: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