Einzelnen Beitrag anzeigen

Benutzerbild von majornudelholz
majornudelholz

Registriert seit: 22. Nov 2015
15 Beiträge
 
Delphi XE7 Professional
 
#1

Zugriffsverletzung bei Zugriff auf 2. Unit? Wo ist das Problem?

  Alt 10. Apr 2016, 17:20
Delphi-Version: XE7
Hallo!

Ich programmiere mir grade einen sogenannten "Angriffsplaner" für ein Strategiespiel. Daher ist es wichtig "timen" zu können, weshalb ich in mein bisher laufendes Programm eine Uhr laufen lassen möchte, die die Zeit in Millisekunden genau angibt. Beim Klicken eines Feldes/Buttons im MainMenu-Bereich soll sich also eine Uhr mit eben diesen Anforderungen auf einem neuen Formular öffnen.

Das alles habe ich bisher hingekriegt, nur jetzt scheitert mein Programm daran, dass es, wenn es den "Timer" (die Uhr mit den Millisekunden) über die MainMenu-Leiste öffnen soll eine Zugriffsverletzung als Fehler ausgibt... Vielleicht findet ihr ja den Fehler bzw. könnt mir sagen, was ich falsch gemacht habe.

Die Hauptunit mit dem Angriffsplaner:
Delphi-Quellcode:
[CODE]unit UAngriffsplanerH;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.ComCtrls,
  Vcl.Menus, System.UITypes, UTimer;

type
  TFAngriffsplaner = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    BalloonHint1: TBalloonHint;
    Panel3: TPanel;
    Panel4: TPanel;
    DatePicker: TDateTimePicker;
    Button1: TButton;
    ListBox1: TListBox;
    TimePicker: TDateTimePicker;
    ComboBox1: TComboBox;
    NowTimer: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Einstellungen1: TMenuItem;
    Bearbeiten1: TMenuItem;
    zurcksetzen1: TMenuItem;
    imer1: TMenuItem;
    Showmessages1: TMenuItem;
    An1: TMenuItem;
    Aus1: TMenuItem;
    procedure Button1Click(Sender: TObject);
    function GetRunTime(sx, sy, zx, zy:integer):real;
    procedure FormCreate(Sender: TObject);
    procedure NowTimerTimer(Sender: TObject);
    function SecondsToTime(Seconds: Integer): TDateTime;
    procedure zurcksetzen1Click(Sender: TObject);
    procedure An1Click(Sender: TObject);
    procedure Aus1Click(Sender: TObject);
    procedure imer1Click(Sender: TObject);
  private
    Datum,Zeit,DateTimeA,StartTime : TDateTime;
    combxi,Seconds,Minutes,Hours,Days,RunTime : Integer;
    unitspeed : Real;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FAngriffsplaner: TFAngriffsplaner;
  FTimer: TFTimer;

implementation

{$R *.dfm}[/CODE]
(unter implementation folgt natürlich was, doch da liegt 100% nicht der Fehler)

Meine Timer-Unit:
Delphi-Quellcode:
[CODE]unit UTimer;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;

type
  TFTimer = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FTimer: TFTimer;

implementation

{$R *.dfm}[/CODE]
Vielen Dank, für jede Anregung!!!
  Mit Zitat antworten Zitat