![]() |
Server Problem
Hallo Leute ich bin neu hier und habe mich wegen eines Problems hier registriert,
Ich bin eigentlich ein erfahrener Programmierer aber Delphi ist an sich etwas neues für mich, ich bin gerade dabei eine Chat Applikation zu entwickeln und habe wollte jetzt eine Funktion einbauen die einen Button auf einem Anderen Formular einer anderen Unit aktiviert, dieser Button ist von Hause aus deaktiviert. Bei einem Click auf Schliessen soll ein Formular geschlossen werden und auf dem anderen Formular ein Button Enabled werden damit man dieses erste Formular wieder öffnen kann. Hierbei erhalte ich jedoch die Fehlermeldung: Zeile Code 123: TMain.BtServerErzeugen.Enabled := True; -Fehler(123) : Methodenbezeichner erwartet. |
AW: Server Problem
Herzlich willkommen hier :dp:
zeige doch mal ein wenig mehr von deinem Code... So müßten wir 100 Mal nachfragen. |
AW: Server Problem
Hallo und Willkommen in der DP :dp:,
bist Du sicher, dass TMain stimmt? Das klingt mir eher so, als sei das die Klasse und nicht die Instanz. |
AW: Server Problem
Vermute ich auch... aber lieber sehen als raten... :thumb:
PS: erster :cheer: |
AW: Server Problem
Zitat:
ne jetzt mal im ernst das ist echt relativ viel... Ich versuche mal das wichtigste rauszusuchen ... |
AW: Server Problem
Zitat:
|
AW: Server Problem
Die Prozedur des Schliessen Buttons von Form 2 ,
procedure TFrmServer.Button1Click(Sender: TObject); begin //hier soll sich dieses Formular schliessen //Befehl (??) TMain.BtServerErzeugen.Enabled := True; end; Die Prozedur die Formular 2 wieder öffnen soll, procedure TMain.BtServerErzeugenClick(Sender: TObject); begin FrmServer := TFrmServer.Create (Self); FrmServer.Top := 5; FrmServer.Left := 900; FrmServer.Show; end; BtServerErzegen ist hierbei noch Disabled erst wenn man Form 2 durch den Button1 schliesst soll halt dieser Button Enabled werden , das ist um zu verhindern das 2 mal das gleiche Formluar offen ist... |
AW: Server Problem
versuch mal
Delphi-Quellcode:
Wie DeddyH schon sagte du arbeitest nicht mit der Instanz. Das hätte dir eigentlich auch die Codevervollständigung sagen können :gruebel:
Main.BtServerErzeugen.Enabled := True;
|
AW: Server Problem
Zitat:
haha^^ cool danke... :))) |
AW: Server Problem
Vermutlich eher FrmMain, aber das kann nur der TE wissen, wie sein Hauptformular benannt ist :zwinker:
[edit] Schon wieder kein roter Kasten :? [/edit] |
AW: Server Problem
Hier machst du es doch auch...
Die Form heißt TFrmServer. und die Instanz FrmServer.Top := 5; Alles wird gut 8-) |
AW: Server Problem
Zitat:
eine frage noch klingt jetzt blöd aber das klappt auch nicht >.< TFrmServer.close; [Fehler] mServer4.pas(122): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt |
AW: Server Problem
Derselbe Fehler: nicht die Klasse, sondern die Instanz benutzen (also das führende T weglassen).
|
AW: Server Problem
Zitat:
|
AW: Server Problem
Zitat:
|
AW: Server Problem
Zitat:
Wert- Enabled=False |
AW: Server Problem
Hmmm...
irgendwie riecht das nach einem komischem Design und einer Unordnung in den Bezeichnern (Deklarationen/Instanzen) :roll: male mal auf welches Formular mit welchem wie interagiert. |
AW: Server Problem
Zitat:
|
AW: Server Problem
Zitat:
Main ->(interagiert) Server und Client (durch Main kann man halt neue Clients oder eben einen Server hinzufügen, bei mehreren 'Servern' würde es einen fehler geben. diesem will ich vorbeugen mit dem close usw... Server -> Main (Button enablen) |
AW: Server Problem
erzeugst du das Formular "Server" zur Laufzeit ?
PS: in dem Formular muß natürlich die Main bekannt sein...
Delphi-Quellcode:
nicht vergessen ?
uses Main
|
AW: Server Problem
Zitat:
-> [Fataler Fehler] mServer4.pas(7): F2047 Zirkuläre Unit-Referenz auf 'mServer4' |
AW: Server Problem
dann schieb mal die
Delphi-Quellcode:
unterhalb von implementation
uses Main
|
AW: Server Problem
Nochmal ganz langsam: in der Unit zu frmMain erzeugst Du das Server-Formular und zeigst es an. Wo steht denn nun der Close-Aufruf, der nicht will? In der Unit zum Server?
|
AW: Server Problem
Zitat:
|
AW: Server Problem
Zitat:
auch schon überlegt die uses in implementation einzubauen klappt aber auch nicht, brauche halt iwie die zuweisung des forms auf den close 'befehl' |
AW: Server Problem
Zitat:
|
AW: Server Problem
Aber dann genügt doch ein einfaches Close.
Delphi-Quellcode:
Dazu muss man die Main-Unit doch nicht einbinden, außerdem passt das so immer, egal ob die Instanz nun "FrmServer" oder "PapaSchlumpf" heißt ;)
procedure TFrmServer.ButtonMachZuClick(Sender: TObject);
begin Close; end; |
AW: Server Problem
Main braucht er um den Button in Main zu enablen...:zwinker: 2 getrennte Probleme Button / Close
|
AW: Server Problem
Zitat:
danke da wär ich nicht drauf gekommen -.- 100 rote rosen zu dir :D |
AW: Server Problem
Zitat:
Danke an euch beide... Hoffe das ich evtl auch im forum mal nen paar leuten helfen kann :) |
AW: Server Problem
Das würde ich zwar so nicht machen, aber OK.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 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-2025 by Thomas Breitkreuz