AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fokus auf mehrere Komponenten setzen

Ein Thema von Freyr77 · begonnen am 22. Jan 2016 · letzter Beitrag vom 2. Feb 2016
Antwort Antwort
Seite 3 von 4     123 4      
Freyr77
(Gast)

n/a Beiträge
 
#21

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:05
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:
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;
So weit, so gut. Das hat schon immer funktioniert. Es ist auch nichts rot markiert. Jetzt sagt er mir aber beim kompilieren auf einmal :

"Diese Form des Methodenaufrufs ist nur für Klassenmethoden oder Konstruktoren zulässig"

Hat da jemand Lösungsansätze?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:15
Nur eine Instanz kann man mit ShowModal zum Anzeigen überreden. Die Klasse selber ist nur die Beschreibung.

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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Freyr77
(Gast)

n/a Beiträge
 
#23

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:15
Hat sich erledigt, war mal wieder ein Flüchtigkeitsfehler..
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#24

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:18
Hat sich erledigt, war mal wieder ein Flüchtigkeitsfehler..
Auch das Prüfen der *.pas Datei?

Delphi hat einen Compiler und keinen Interpreter. Der Quellcode wird nach der Erstellung von der Anwendung selber nicht mehr benötigt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Freyr77
(Gast)

n/a Beiträge
 
#25

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:19
Hat sich erledigt, war mal wieder ein Flüchtigkeitsfehler..
Auch das Prüfen der *.pas Datei?

Delphi hat einen Compiler und keinen Interpreter. Der Quellcode wird nach der Erstellung von der Anwendung selber nicht mehr benötigt.
Wie gestalte ich das denn eleganter? Was ich mit dem Code erreichen will ist aber verständlich, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#26

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:30
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 TSpielmodus501 und du kannst das Programm gar nicht erstellen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Freyr77
(Gast)

n/a Beiträge
 
#27

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:41
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..
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#28

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 10:44
Dafür reicht
Delphi-Quellcode:
procedure TForm2.btnspielmodus501Click;
var
  Form1: TTSpielmodus501;
begin
  Form1 := TTSpielmodus501.Create( self );
  Form1.ShowModal;
end;
Ich weiß nur nicht, ob du mit dieser lokalen Variablen glücklich wirst ... aber das wirst du dann schon sehen

Er kompiliert das ganze auch so, wenn ich allerdings auf den Button drücke sagt er mir jetzt Zugriffsverletzung bei Adresse 00000000..
Ich wette mal, dass du in TTSpielmodus501 auf die Variable Form1 zugreifen möchtest ...

Ersetze das dort einfach mal mit Self .
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 1. Feb 2016 um 10:47 Uhr)
  Mit Zitat antworten Zitat
Freyr77
(Gast)

n/a Beiträge
 
#29

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 12:09
Delphi-Quellcode:
procedure TTSpielmodus501.SiegerSpieler1;
begin
  if (lblpunktestand1.Caption < inttostr(1)) then
  ShowMessage('spielername1' + 'hat das Spiel gewonnen.');
  end;
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.
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#30

AW: Fokus auf mehrere Komponenten setzen

  Alt 1. Feb 2016, 14:47
hallo,

Zitat:
Habe sie in OnCreate eingebunden. Es passiert allerdings NICHTS wenn der Punktestand auf 0 geht.
Es reicht nicht wenn du die Methode einmalig im OnCreate aufrufst, du musst Sie schon bei jeder Änderung des Punktestandes neu aufrufen.

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 08:15 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