![]() |
AW: Fokus auf mehrere Komponenten setzen
So, nun habe ich nach einer Woche mein Programm wieder geöffnet. Was vorher funktioniert hat, funktioniert jetzt nicht mehr so wirklich. Ich versuche vom Hauptmenü mit Hilfe eines Buttons die Unit für den Spielmodus zu öffnen.
Das sieht so aus:
Delphi-Quellcode:
So weit, so gut. Das hat schon immer funktioniert. Es ist auch nichts rot markiert. Jetzt sagt er mir aber beim kompilieren auf einmal :
procedure TForm2.btnspielmodus501Click;
var Form1: TTSpielmodus501; begin Form1:=TTSpielmodus501.Create(self); if FileExists('C:\Users\BERGMANN\Documents\DartProjekt\Spielmodus501.pas') then begin TTSpielmodus501.ShowModal; end else begin MessageDlg('Spiel konnte nicht gestartet werden', mtError, [mbOK], 0); end; end; "Diese Form des Methodenaufrufs ist nur für Klassenmethoden oder Konstruktoren zulässig" Hat da jemand Lösungsansätze? |
AW: Fokus auf mehrere Komponenten setzen
Nur eine Instanz kann man mit
Delphi-Quellcode:
zum Anzeigen überreden. Die Klasse selber ist nur die Beschreibung.
ShowModal
Mit Auto kann man nicht fahren, sondern mit dem Auto oder mit deinem Auto (eben etwas Konkretem und nicht mit einer Definition). Insgesamt sieht das was du dort machst sehr seltsam aus. Wozu prüfst du diese *.pas Datei ab? Das ist eine Anleitung, wie dein Programm gebaut werden soll. Das ist dann so, dass du dein Auto nur dann benutzen könntest, wenn du auch die Konstruktionspläne besitzt. Hört sich seltsam an :stupid: |
AW: Fokus auf mehrere Komponenten setzen
Hat sich erledigt, war mal wieder ein Flüchtigkeitsfehler..
|
AW: Fokus auf mehrere Komponenten setzen
Zitat:
Delphi hat einen Compiler und keinen Interpreter. Der Quellcode wird nach der Erstellung von der Anwendung selber nicht mehr benötigt. |
AW: Fokus auf mehrere Komponenten setzen
Zitat:
|
AW: Fokus auf mehrere Komponenten setzen
Ich kann nur raten, was du da möchtest.
Du willst prüfen, ob es diesen Spielmodus 501 gibt. Wenn es den allerdings nicht gibt, dann gibt es auch keine Klasse
Delphi-Quellcode:
und du kannst das Programm gar nicht erstellen.
TSpielmodus501
|
AW: Fokus auf mehrere Komponenten setzen
Der Button in TForm2 soll das OnCreate von der unit Spielmodus501(TForm1) öffnen.
Also das ist quasi die Auswahl, dass man diesen Spielmodus spielen will. Danach erfolgt die Eingabe der Namen und dann starte das ganze. Er kompiliert das ganze auch so, wenn ich allerdings auf den Button drücke sagt er mir jetzt Zugriffsverletzung bei Adresse 00000000.. |
AW: Fokus auf mehrere Komponenten setzen
Dafür reicht
Delphi-Quellcode:
Ich weiß nur nicht, ob du mit dieser lokalen Variablen glücklich wirst ... aber das wirst du dann schon sehen ;)
procedure TForm2.btnspielmodus501Click;
var Form1: TTSpielmodus501; begin Form1 := TTSpielmodus501.Create( self ); Form1.ShowModal; end; Zitat:
Delphi-Quellcode:
auf die Variable
TTSpielmodus501
Delphi-Quellcode:
zugreifen möchtest ...
Form1
Ersetze das dort einfach mal mit
Delphi-Quellcode:
.
Self
|
AW: Fokus auf mehrere Komponenten setzen
Delphi-Quellcode:
Nächstes Problem: Ich habe jetzt diese Prozedur geschrieben, um zu sehen ob es funktioniert. Habe sie in OnCreate eingebunden. Es passiert allerdings NICHTS wenn der Punktestand auf 0 geht.
procedure TTSpielmodus501.SiegerSpieler1;
begin if (lblpunktestand1.Caption < inttostr(1)) then ShowMessage('spielername1' + 'hat das Spiel gewonnen.'); end; |
AW: Fokus auf mehrere Komponenten setzen
hallo,
Zitat:
mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 Uhr. |
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 by Thomas Breitkreuz