Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi THideBox -> Eigene Kompo (https://www.delphipraxis.net/75619-thidebox-eigene-kompo.html)

cherry 22. Aug 2006 13:23


THideBox -> Eigene Kompo
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi, ich bin an einer kleinen Komponente und habe nun ein kleines Problem!

Folgendes umschreibt die Komponente:

- ein Rechteck das auf einen Klick nach links verschwindet, bis nur noch ein
kleines Rechteck übrig bleibt. Klickt man wieder drauf, wird es wieder grösser.

- Der DriveIn, DriveOut Vorgang ist natürlich animiert! :dance:

- Sinn der Komponente ist, einen Text(Caption) in dieser HideBox anzeigen und verschwinden zu lassen.

Problem:

- zur Designzeit funktioniert die Kompo Super, d.h. mit Animation!
-> indem man die Property "DrivenOut" auf "true / false" setzt

- zur Laufzeit funktioniert das aber nicht wie gewünscht, weder mit einm Click noch mit dem setzen von true /false
der Variable DrivenOut!

Sicher habe ich irgendwo einen schreklich dummen Fehler gemacht, den ich aber leider nicht evaluieren kann.
Bitte dringenst um Mithilfe, sodass ich nich in der Klapsmühle landen muss.

Verbindlichsten Dank!

//EDIT: Bild angefügt!

TKC 22. Aug 2006 13:44

Re: THideBox -> Eigene Kompo
 
hi,

woran hängt es denn .. hast du schon mal mit dem Debugger nachvollzogen was passiert ?

cherry 22. Aug 2006 13:48

Re: THideBox -> Eigene Kompo
 
Wie Debbugt man eine Komponente???

Am einfachsten für euch wäre doch die Komponente runterzuladen und sie zu installieren,
dann könnt Ihr euch etwas drunter vorstellen...

Ich lad noch grad ein Bild in den ersten Thread!

Help... anybody, help... i need somebody, help... not anybody he ee e e e ee lp !!

cherry 22. Aug 2006 14:08

Re: THideBox -> Eigene Kompo
 
Mal ne Frage,

Hat sie schon jmd getestet???

Ich hab die Komponente grad noch mal getestet , nun funktioniert sie ohne das ich etwas geändert habe.
Ich habe nichtmal Delphi neu gestartet globe ich!?

Jedenfalls bin ich jetz völlig ratlos und bin mir nicht sicher ob das ein gutes Zeichen ist, respektive
ob ich der Funktionalität der Komponente vertrauen kann?!

Meflin 22. Aug 2006 14:37

Re: THideBox -> Eigene Kompo
 
Zitat:

Zitat von cherry
ob ich der Funktionalität der Komponente vertrauen kann?!

Ich würde sagen: nein :mrgreen: wenn sie nach einem neustart des pcs allerdings immernoch funktioniert, wäre ich schon zuversichtlicher :P


Daniel G 22. Aug 2006 14:43

Re: THideBox -> Eigene Kompo
 
Die Komponente klappt ein, und das war's..... Kein Ausklappen mehr zur Runtime...

cherry 22. Aug 2006 14:50

Re: THideBox -> Eigene Kompo
 
Das habe ich mir schon gedacht...

nun kann mir jetz jmand helfen bitte?

@ Daniel G

" Hast du eine Idee warum dieselbe aktion zur Designzeit funktioniert, nicht aber zur LaufZeit???" (DrivenOut)

NormanNG 22. Aug 2006 15:38

Re: THideBox -> Eigene Kompo
 
Hi,

also mit D7 geht sowohl ein- als auch ausklappen. Allerdings habe ich die Komponente nicht installiert sondern zur Laufzeit erzeugt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var HB:tHideBox;
begin
  hb:=THideBox.Create(self);
  hb.Parent:=self;
  hb.left:=50;
  hb.top:=100;
end;
Wozu benötigst du denn TIntervalProcedures? Verschiebe die DriveIn/Out-Methoden direkt in das Objekt tHideBox. Dann wird TIntervalProcedures überflüssig... Außerdem wird IntProcs := TIntervalProcedures.Create; zwar erzeugt, aber nirgends wieder freigegeben...

cherry 22. Aug 2006 15:50

Re: THideBox -> Eigene Kompo
 
Zitat:

Zitat von NormanNG
Hi,
Wozu benötigst du denn TIntervalProcedures? Verschiebe die DriveIn/Out-Methoden direkt in das Objekt tHideBox. Dann wird TIntervalProcedures überflüssig...

Wenn ich die DriveIn / DriveOut Procedures in THideBox unterbringe, kann ich sie leider nicht an die TTimer.onTimer
als Methode anhängen. Diese Methoden müssen von einem andern Objekt sein!!! , nehme ich an,
denn ich hatte das eigentlich so vor, hat aber nicht geklappt.

Zitat:

Zitat von NormanNG
also mit D7 geht sowohl ein- als auch ausklappen. Allerdings habe ich die Komponente nicht installiert sondern zur Laufzeit erzeugt:

Könntest du es evt. bitte noch testen mit installierter Komponente? ich weis ja nicht aber etwas ist faul?
kannst du dir nicht mal rasch den Code noch etwas besser ansehen?? Wäre echt nett...

PS: Die Komponente funktioniert nicht immer, nur manchmal. D.h. die Komponente reagiert auf irgendwas
das ich nichtberüksichtigt habe oder so..

Zitat:

Zitat von NormanNG
Außerdem wird IntProcs := TIntervalProcedures.Create; zwar erzeugt, aber nirgends wieder freigegeben...

Danke werd ich noch machen. Das ist übrigens nicht der einzige Bug, bin ja auch noch nicht fertig!

Danke schon mal...

NormanNG 22. Aug 2006 16:15

Re: THideBox -> Eigene Kompo
 
Hi,

Zitat:

Wenn ich die DriveIn / DriveOut Procedures in THideBox unterbringe, kann ich sie leider nicht an die TTimer.onTimer
als Methode anhängen. Diese Methoden müssen von einem andern Objekt sein!!! , nehme ich an,
denn ich hatte das eigentlich so vor, hat aber nicht geklappt.
Das ist sicher nicht richtig. Ich habe die beiden Methoden ohne Probleme nach tHideBox verschieben können.

Aber zu deinem Problem mit dem Ausklappen:
bei installierter Komponente geht's auch bei mir nicht. Es liegt wohl daran, dass die "ausgefahrene" Breite der Komponente nicht richtig gesetzt und deshalb der TimerOut sofort wieder ausgeschaltet wird (Suche mach nach FRealWidth)...


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

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