Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mi 13.04.05 20:01 
Hallo,
ich habe folgende aufzhälung:

ausblenden Delphi-Quelltext
1:
2:
3:
TJvCapBtnStyle = (capClose, capMax, capMin, capRestore, capHelp);
  TJvCapBtnStyles = set of TJvCapBtnStyle;
  TJvDrawPosition = (dpLeft, dpTop, dpRight,


und ich nutzte ihn folgendermaßen
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
 if Button = CapMin then begin
    JvCaptionPanel5.Height:=151;
    JvCaptionPanel5.Buttons:=[];
    JvCaptionPanel5.Buttons:=[capClose,capMax];

  end
  else begin
    if Button = CapMax then begin
      JvCaptionPanel5.Height:=257;
      JvCaptionPanel5.Buttons:=[capClose,CapMin];
    end;
  end;
....

Jetzt kommt es zu den fehler, das es nach ca 4 mal (einfach klick) klicken nun doppelklick machen muss damit dieser code funktioniert.

im debuger habe ich mir den wert Buttons angezehen und folgendes gesehen:
beim ersten mal steht da , (richtig) und nach 4 mal klicken steht da ...
z.b.
Buttons:=CapClose,CapMin -> richtig(bei den ersten malen)
Buttons:=CapClose..Capmin -> Falsch(bei ca 4 mal einfch klick, wird ein doppel klick notwendig)

ich hoffe ihr habt das problem verstanden.

_________________
MFG
Michael Springwald, "kann kein englisch...."
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: So 17.04.05 11:03 
Schade: weißt wirklich keine eine antwort ?
warum das Programm aus:
ausblenden Delphi-Quelltext
1:
JvCaptionPanel5.Buttons:=[capClose,capMax];					

dies macht nach einigen klicken ? das steht doch nirgenwo im code drin.
ausblenden Delphi-Quelltext
1:
JvCaptionPanel5.Buttons:=[capClose..capMax];					

_________________
MFG
Michael Springwald, "kann kein englisch...."
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 17.04.05 13:23 
Dein Codeschnipsel reicht wohl einfach nicht, um den Fehler zu reproduzieren. Am besten du postest einen verkürzten Code deines Programmes, den sich alle direkt ins Delphi kopieren können.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: So 17.04.05 16:51 
ja ok
Einloggen, um Attachments anzusehen!
_________________
MFG
Michael Springwald, "kann kein englisch...."
Critter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 328
Erhaltene Danke: 3

Windows 7
Delphi 7 Pro.
BeitragVerfasst: Mo 25.04.05 09:05 
Hallo,

ich glaube deine Problemeinschätzung ist nicht ganz korrekt. Ich habe in deinem Projekt mal eine tListbox hinzugefügt und mitprotokollieren lassen, welcher Button an die Funktion übergeben wird. Dabei fällt auf, dass bei jedem Aufruf der OnClick Funktion der richtige Button übergeben wird. Leider wird aber die OnClick nicht zuverlässig aufgerufen. Ich schätze du setzt da auf eine unzuverlässige Komponente, ein Problem, das mir bei den Jedis (inklusive Indy) schon häufiger mal aufgefallen ist.
Eventuell kannst du sie ja auf mehr Zuverlässigkeit optimieren.

Wenn du das ganze überprüfen möchtest schmeiße eine tListbox auf dein Formular und ergänze deine OnClick so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.JvCaptionPanel1ButtonClick(Sender: TObject;
  Button: TJvCapBtnStyle);
begin
 ListBox1.Items.Insert(0, IntToStr(Ord(Button)));
 if Button = CapMin then begin
    JvCaptionPanel1.Height:=151;
    JvCaptionPanel1.Buttons:=[];
    JvCaptionPanel1.Buttons:=[capClose,capMax];
  end
  else begin
    if Button = CapMax then begin
      JvCaptionPanel1.Height:=257;
      JvCaptionPanel1.Buttons:=[capClose,CapMin];
    end;
  end;
end;


Critter
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 23.06.05 12:34 
-> Tut mir leid das ich erst jetzt antwortet.... hatten den beitrag aus den Augen verloren.

OnClick Welches onKlick meinst du jetzt das von den Panel oder des von der ListBox...
Gibt es eine möglihckeit diese Schwäche zu beheben ? bzw. weg zu machen ?

damit ich die richtig verstehe:
du meist warcheinlich das CaptionPanel und jedes mal wenn ich also auf ein button oben klicke wird/kann es passieren das das ereignis onClick vom Button nicht richtig ausgeführt wird.
Wenn das so ist, gibt es ein updatet der komponente oder hat es jemmand schon behoben ????

_________________
MFG
Michael Springwald, "kann kein englisch...."
opfer.der.genauigkeit
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754
Erhaltene Danke: 1



BeitragVerfasst: Do 23.06.05 12:48 
Hiho,

Ich kann das Programm nicht testen, hab keine Jedi :) (derzeit)

Aber folgendes ist mir aufgefallen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
 if Button = CapMin then begin
    JvCaptionPanel1.Height:=151;
    JvCaptionPanel1.Buttons:=[];
    JvCaptionPanel1.Buttons:=[capClose,capMax];

  end
  else begin
    if Button = CapMax then begin
      JvCaptionPanel1.Height:=257;
      JvCaptionPanel1.Buttons:=[capClose,CapMin];
    end;
  end;


Ich weiß nicht ob es die Lösung ist, kanns ja nicht testen aber
zähl mal die Zeilen an Code, die CapMin aufweist und die CapMax aufweist.

Evtl. ist das die Lösung deines Problems.. wenn nicht.. muß ich wohl JEDI
installieren :)

Hf

_________________
Stellen Sie sich bitte Zirkusmusik vor.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 23.06.05 15:12 
leider nicht !
ich habe jetzt folgendes getestet( an einem andren panel)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
 if Button = CapMin then begin
    JvCaptionPanel7.Height:=167;
    JvCaptionPanel7.Buttons:=[];
    JvCaptionPanel7.Buttons:=[capClose,capMax];

  end
  else begin
    if Button = CapMax then begin
      JvCaptionPanel7.Height:=23;
      JvCaptionPanel7.Buttons:=[];
      JvCaptionPanel7.Buttons:=[capClose,CapMin];
    end;
  end;

immer noch das gleiche wie voher

_________________
MFG
Michael Springwald, "kann kein englisch...."