Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unbekannte Zugriffsverletzung (https://www.delphipraxis.net/116142-unbekannte-zugriffsverletzung.html)

STS301 24. Jun 2008 08:54


Unbekannte Zugriffsverletzung
 
hi

ein Freund von mir versucht gerade ein Hangman Programm zu machen und es soll am Anfang ein Logo zeigen, nach einer gewissen Zeit soll er dann das Hauptprogramm starten, nur es zeigt dan eine Zugriffsverletzung an. Mein Freund, mein Lehrer und ich stehen auf der Leitung.

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, jpeg;

type
  TFStart = class(TForm)
    IBild: TImage;
    TZeit: TTimer;
    procedure TZeitTimer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    time: Integer;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FStart: TFStart;

implementation

uses Hangman_u;

{$R *.dfm}

procedure TFStart.FormCreate(Sender: TObject);
begin
  time:= 1;
  TZeit.enabled:= true;
end;

procedure TFStart.TZeitTimer(Sender: TObject);
begin
  dec(time);

  if time= 0 then

    begin
      TZeit.Enabled:= false;
      FStart.Hide;
      FHangman.Show;
    end;

end;
FStart ist die Logo Unit
FHangman das Hauptprogramm

sirius 24. Jun 2008 08:57

Re: Unbekannte Zugriffsverletzung
 
Und wie sieht die DPR aus? Wo kommt der Fehler?

Sherlock 24. Jun 2008 08:58

Re: Unbekannte Zugriffsverletzung
 
...und FHangman ist zum Zeitpunkt des Show bereits erzeugt worden?


Sherlock

STS301 24. Jun 2008 09:04

Re: Unbekannte Zugriffsverletzung
 
so sieht die DPR aus

Delphi-Quellcode:
uses
  Forms,
  Hangman_u in 'Hangman_u.pas' {FHangman},
  Start_u in 'Start_u.pas' {FStart};

{$R *.res}

begin
  Application.Initialize;
  Application.Title := 'Hangman';
  Application.CreateForm(TFStart, FStart);
  Application.Run;
end.

messie 24. Jun 2008 09:06

Re: Unbekannte Zugriffsverletzung
 
Zitat:

Zitat von STS301
so sieht die DPR aus

Delphi-Quellcode:
uses
  Forms,
  Hangman_u in 'Hangman_u.pas' {FHangman},
  Start_u in 'Start_u.pas' {FStart};

{$R *.res}

begin
  Application.Initialize;
  Application.Title := 'Hangman';
  Application.CreateForm(TFStart, FStart);
  Application.Run;
end.

Zuerst muss das Hauptprogramm erzeugt werden. Am besten Du trägst es unter Projektoptionen als "automatisch erzeugt" ein, dann wird es in der dpr schon erzeugt.

Grüße, Messie

DeddyH 24. Jun 2008 09:09

Re: Unbekannte Zugriffsverletzung
 
So etwas hatten wir gestern schon hier

STS301 24. Jun 2008 09:57

Re: Unbekannte Zugriffsverletzung
 
naja, jetzt habe ich es so
Delphi-Quellcode:
procedure TFStart.TZeitTimer(Sender: TObject);
begin
  dec(time);

  if time= 0 then

    begin
      TZeit.Enabled:= false;
      FStart.Hide;
      try
        FHangman := FHangman.Create(Application);
        FHangman.Show;
      finally
        FHangman.Release;
      end;
    end;

end;
das Problem bei "automatisch erzeugen" ist nur dass er mir das Start und Hangman gleichzeitig anzeigt.

DeddyH 24. Jun 2008 09:59

Re: Unbekannte Zugriffsverletzung
 
Hast Du den verlinkten Thread auch komplett durchgelesen?

Aurelius 24. Jun 2008 10:03

Re: Unbekannte Zugriffsverletzung
 
Vielleicht wäre ja auch folgender Thread interessant ;)

http://www.delphipraxis.net/internal...ect.php?t=9679

RavenIV 24. Jun 2008 10:09

Re: Unbekannte Zugriffsverletzung
 
Versuch es doch einfach mal so:
Delphi-Quellcode:
procedure TFStart.TZeitTimer(Sender: TObject);
begin
  dec(time);

  if time= 0 then

    begin
      TZeit.Enabled:= false;
      FStart.Hide;
//      try
        if not Assigned(FHangman) then
        begin
          FHangman := FHangman.Create(Application);
        end;
        FHangman.Show;
//      finally
//        FHangman.Release;
//      end;
    end;

end;
Und in FStart.FormClose dann:
FHangman.Free oder FHangman.Release


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Seite 1 von 2  1 2      

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