| Autor |
Beitrag |
Luncustaf
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Sa 29.03.03 09:43
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| if einloggen_ip.Enabled then begin Einloggen.Height := 166; einloggen_ip.Enabled := False; end else begin Einloggen.Height := 226; einloggen_ip.Enabled := True; end; |
hi,
das is mein problem - wenn ich den codedurchlaufe dann bringt er mir beim height immer ne access valuation
ich will damit nen bereich inner forum sichtbare machen und das auf butttonklick.
gr€€tz
|
|
AndyB
      
Beiträge: 1173
Erhaltene Danke: 14
RAD Studio XE2
|
Verfasst: Sa 29.03.03 10:33
Ist das Formular Einloggen auch schon erzeugt?
Wenn du innerhalb von OnCreate diesen Code anwendest, dann sind die auf das Formular folgenden Formulare noch nicht vorhanden.
_________________ Ist Zeit wirklich Geld?
|
|
Luncustaf 
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Sa 29.03.03 10:46
hi ja das formular is schon erzeugt
gr€€tz
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 31.03.03 10:43
Wo genau steht denn der Code? Und was ist das einloggen genau für eine Form?
Achja, noch was anderes: Laut den Richtlinien ist "Vordrängeln" oder Pushen nicht erlaubt, habe deshalb Deine beiden Postings gelöscht...
|
|
Luncustaf 
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Mo 31.03.03 12:24
hi,
sorry das mit dem pushe nhabsch net gewusst kommt net mehr vor.
das formular wird zum einloggen in das programm benutzt.
es wird zur laufzeit erzeugt und sichtbar gemacht.
wenn dann auf ein button gedrücktw ird soll ein bereich des formulars eingebelendetwerden wo man in ein editfeld was eingeben kann.
das komisch ist es ist zb auch der einloggen b utton auf dem formular und wenn ich den klicke dann istalels ok.
kann ich die heigt werte nicht ändern wenn ich das formular zur laufzeit erzeuge?
gr€€tz
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 31.03.03 12:29
| Luncustaf hat folgendes geschrieben: | | sorry das mit dem pushe nhabsch net gewusst kommt net mehr vor. |
Kein Problem, deswegen gibts ja die Mods
Also zurück zu Deinem Problem:
Ich bin mir nicht ganz sicher, aber es kommt glaub ich darauf an, wie Du das Formular erzeugst, wer der Parent ist. Je nachdem hast Du Zugriff auf die Eigenschaften. Korrigiert mich bitte, wenn ich was falsches sage.
Bei so einem Problem hab ichs dann so gemacht, dass ich eine Prozedur in der anderen Unit eingebaut habe, die das macht, der ich einfach den Wert übergeben hab, wie das Form aussehen soll.
|
|
Luncustaf 
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Mo 31.03.03 12:38
also das formular hat kein parent vllt sollte ich nachdem create nen Einloggen.paren(self)
machen?
werde ich zuhause mal probieren auf die eigenschaften habe ich zugriff denke ich zumindestens
gr€€tz
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Mo 31.03.03 15:09
Hi,
wenn überhaupt würde ich beim Create() und als Parent "nil" angeben..
Denn wenn du dort ein "self" machst, wird das neue Form IN deinem aktuellen Form angezeigt..
Aber ich denke mal der Fehler liegt daran das du keinen Parent gemacht hast, wenn nicht... benutzt du vieleicht den Event "OnResize"??
Au'revoir,
Aya~
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Luncustaf 
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Mo 31.03.03 17:26
so nun genaueren code da es mit dem parent auch net geht
Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| Application.Initialize; Application.CreateForm(Tuebersicht, uebersicht); Application.CreateForm(Tinfo, info); Application.CreateForm(Tboard, board); Application.CreateForm(Tueber_setup, ueber_setup); if einloggen.Login then if db_laden.dbladen then Application.Run; |
so rufe ich die funktion zum erzeugen auf tipp hab ich von tino
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function TEinloggen.Login : Boolean; var Form : TEinloggen; begin Login := False; Form := TEinloggen.Create(nil); Form.Parent := self; if Form.ShowModal = mrOk then Login := true; Form.Free; end; |
das ist dann die funktion
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TEinloggen.Button1Click(Sender: TObject); begin if einloggen_ip.Enabled then begin einloggen.Height := 166; einloggen_ip.Enabled := False; einloggen_ip.Text := 'Manuelle Ip_Eingabe >>'; end else begin einloggen.Height := 226; einloggen_ip.Enabled := True; einloggen_ip.Text := 'Manuelle Ip_Eingabe <<'; end; end; |
das ist der button mit dem ich die form erweiterung machen will.
gr€€tz
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 01.04.03 08:35
Hallo,
ich habe mehrere Dinge entdeckt die nicht so gut oder einfach falsch sind.
Du machst folgenden Aufruf:
Quelltext 1: 2:
| if einloggen.Login then if db_laden.dbladen then |
Die Variable einloggen wurde doch noch gar nicht initialisiert, oder? Also kannst Du den Aufruf vergessen.
Du hast zwar gesagt der Tipp kommt von mir aber so richtig glaube ich das nicht  Ich denke ich habe es wie folgt vorgeschlagen:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| function Login : Boolean; var Form : TEinloggen; begin Form := TEinloggen.Create (nil); Form.Parent := self; Login := Form.ShowModal = mrOk; Form.Free; end; |
Wichtig hierbei ist das die Funktion Login nicht eine Methode von TEinloggen ist. Also einfach außerhalb der Form-Deklaration (aber in der gleichen Unit) deklarieren.
Dann die Methode Button1Click. Ich gehe immer noch davon aus das einloggen eine Variable vom Type TEinloggen ist. Da Du aber diese Variable, wie oben schon geschrieben, nicht initialisiert hast geht zum Beispiel auch der folgende Aufruf nicht:
Quelltext 1: 2: 3:
| {...} einloggen.Height := 166; {...} |
Du willst doch die Höhe des Fenster ändern, oder? Wenn ja, dann kannst Du einfach schreiben:
Quelltext
und fertig.
Ich hoffe die Angaben helfen Dir ein weinig.
Gruß
Tino
|
|
Luncustaf 
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Di 01.04.03 10:04
Hi,
das einloggen ist der formular name den ich im objektinspektor dem formular gegeben habe.
ich kann das hier gerade nicht testen werde ich heute abend zuhause mal machen.
werde dan nbescheid geben ob es funktioniert hat.
ne andere frage ich muss die funktion ja irgendwo deklarieren soll ich diese dann in ein anderes formulardas ich davor erzeuge reinpacken und diese dann quasi aufrufen?
gr€€tz
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Di 01.04.03 10:14
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 01.04.03 10:17
Hallo,
| Luncustaf hat folgendes geschrieben: | | das einloggen ist der formular name den ich im objektinspektor dem formular gegeben habe. |
Das habe ich mir gedacht. Letztendlich ist es aber eine globale Variable die Delphi automatisch erstellt:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| type Teinloggen = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end;
var einloggen: Teinloggen; |
Da Du Dieses Fenster selbst erstellst und anzeigen lässt kannst Du die Variable entfernen da Du sie ja nicht mehr brauchst.
| Luncustaf hat folgendes geschrieben: | | ne andere frage ich muss die funktion ja irgendwo deklarieren soll ich diese dann in ein anderes formulardas ich davor erzeuge reinpacken und diese dann quasi aufrufen? |
Ich würde die Funktion Login in der Unit definieren in der auch das Form einloggen definiert ist:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| unit FormEinloggen;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type Teinloggen = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end;
Function Login: Boolean;
implementation
{$R *.DFM}
Function Login: Boolean; var Form : TEinloggen; begin Form := TEinloggen.Create (nil); Form.Parent := self; Login := Form.ShowModal = mrOk; Form.Free; end;
{...}
end. |
Gruß
Tino
|
|
Luncustaf 
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Di 01.04.03 10:27
hmm aber wenn ich das ausserhalb vom public oder privat teil mache wo ist das dann zugewiesen?
gr€€tz
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 01.04.03 10:36
Ich habe eine normale Funktion erstellt die nichts mit einem Formular zu tun hat.
Aufgerufen wir die Funktion zum Beispiel so:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| Application.Initialize; Application.CreateForm(Tuebersicht, uebersicht); Application.CreateForm(Tinfo, info); Application.CreateForm(Tboard, board); Application.CreateForm(Tueber_setup, ueber_setup); if Login then if db_laden.dbladen then Application.Run; |
Natürlich muss die Unit, in der die Funktion Login implementiert ist, in die Uses-Klausel eingefügt werden.
Gruß
Tino
|
|
Luncustaf 
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: Di 01.04.03 21:46
ich danke euch vielmals echt habt mich wieder nen bisschen schlauer gemahct vielen dank nochmals!
gr€€tz
|
|