VST: Neuer versuch gescheitert....

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

VST: Neuer versuch gescheitert....

Beitrag von pluto »

Hallo,
seit längerer Zeit habe ich mal wieder die VST Installiert und in einem neuen Projekt verwendet. Leider bin ich auf einigen Fehler gestoßen, die ich hier mal aufführen werde. In der Hoffnung das sie mit der Zeit beheben werden. Die VST ist einfach eine Tolle Komponente. Leider ist sie auch sehr Komplex, da wundert es natürlich keinem das da Fehler drin sind. Ich hoffe mit diesem Thread einen Beitrag zur Verbesserung der VST zu leisten. Erstmal muss natürlich Geklärt werden ob nur ich oder auch noch andere die beschreibenden Fehler haben.

Hier noch mal meine System Daten:
Debian Lenny KDE 4.0 Laazrus 0.9.25(die 0.9.27 kann ich leider nicht Kompilieren :() vom 07.09.2008

Fehler Nummer 01
Bei mir werden die CheckBoxen vor einem Item mit einem Rosa Rand gezeichnet. Siehe das Bild im Anhang(VST_Ch_Fehler.jpg)

Fehler Nummer 02
Wenn ich eine CheckBox dann anklicke wird das Kreuz erst gezeichnet wenn ich wieder die Maus bewege.
a) Also wird bei jeder Maus Bewegung der Eintrag neu gezeichnet. Das muss aber gar nicht.
b) Es währe schön, wenn die Veränderung sofort gesehen wird.

Fehler Nummer 03
Ein weiteren Fehler habe ich bei Spalten Editor gefunden:
Wenn ich dort Einträge verschieben möchte, geht das einfach nicht. Es Passiert nix. Oder es gibt eine AV.

Fehler Nummer 04
Wenn ich ein Item Anklicke ist die Schrift im Markierung Balken leider clBlack, ich habe keinen Weg gefunden das Ändern.

Fehler Nummer 05
Dieser Fehler konnte ich jetzt noch nicht genau bestimmen, aber immer wenn ich die Pfeiltasten drücke(Hoch und Runter) gibt es eine AV im Aktuellen Projekt. Alle anderen Fehler habe ich mit einer neuen Projekt bestätigen können.

Wenn ich weitere Fehler finde zur VST, trage ich sie hier ein.

PS: Ich glaube ich weiß schon mein nächstest Vorhaben :) :)
Dateianhänge
VST_Ch_Fehler.jpg
MFG
Michael Springwald

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: VST: Neuer versuch gescheitert....

Beitrag von Hitman »

Ich weiß nicht, welchen Zweig von VST du genommen hast, aber bestimmt die erste Portierung.
Ich empfehle den "vst_unstable" Zweig ... der seinen Namen zum Glück nicht ganz zu Recht trägt (läuft bei mir fast reibungslos ... lediglich das Scroll-Verhalten und GTK/GTK2 ist etwas seltsam, aber zu ertragen).
Alles was du brauchst, sind drei Komponenten (vom selben Autor), alle erhältlich per svn:



Zu installieren sind diese ebenfalls in der Reihenfolge.

Viel Erfolg!

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: VST: Neuer versuch gescheitert....

Beitrag von pluto »

Danke ! Die Checkboxen gehen jetzt, allerding werden die ersten beiden Spalten mit einem ... belegt stad dem richtigen Text !

edit01: bis auf die Tatsache das der text wenn er nicht in die Spalte rein paast mit einem ... ersetzt wird, bin ich mit dieser Version zufrieden.
Ich hatte die letzte von Christian's HP runtergeladen. Anscheind ist die veraltet.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: VST: Neuer versuch gescheitert....

Beitrag von theo »

Geht das bei euch? Ich hab's auf GTK2 (SVN Rev 16996) probiert:
lclextensions kann ich nicht bauen.

/home/theo/lazarus/cvs/lclextensions_svn/lib/i386-linux-gtk2/delphicompat.o: In function `GETTEXTEXTENTEXPOINT':
delphicompat.inc:70: undefined reference to `pango_extents_to_pixels'

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: VST: Neuer versuch gescheitert....

Beitrag von pluto »

Bei mir ging das letztens. ich werde es noch mal probieren mit der neuen Lazarus Version.
Was genau macht Eigentlich lclextensions ? Ich finde dazu keine Beispiele und auch sonst nix.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: VST: Neuer versuch gescheitert....

Beitrag von theo »

pluto hat geschrieben:Was genau macht Eigentlich lclextensions ?

Keine Ahnung. Ich weiss nur was hier steht, und das ist nicht viel : https://luipack.bountysource.com/wiki/lclextensions
Die vtv-unstable hat für meinen Geschmack ein bisschen viel Abhängigkeiten von anderen Paketen.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: VST: Neuer versuch gescheitert....

Beitrag von pluto »

Ja das stimmt. Von wem stammt eigentlich diese VST ? immer noch von Christian oder von jemand anderem ?

Ich frage mich warum überhaupt diese Klassen gebraucht werden. Ein LOG System kann man doch schnell selbst erstellen oder nicht ?
Ich frage mich auch ob man alles in einem Packt packen könnte und es dann auf einmal installieren kann. Müsste doch auch gehen oder ?

Ich bin aber überrascht, wie sich die VST weiter entwickelt hat *G*. Wobei ich ja schon vor einigen Monaten aufgehört hatte sie zu nutzten !
Aber jetzt werde ich sie wahrscheinlich wieder nutzten.

edit: Den link kann man ja Vergessen. Da steht ja nix über das Projekt !
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: VST: Neuer versuch gescheitert....

Beitrag von theo »

pluto hat geschrieben:Ja das stimmt. Von wem stammt eigentlich diese VST ? immer noch von Christian oder von jemand anderem ?


Von Luiz Américo Pereira Câmara.

Hab's jetzt installieren können. Sieht ganz brauchbar aus.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: VST: Neuer versuch gescheitert....

Beitrag von theo »

pluto hat geschrieben:Danke ! Die Checkboxen gehen jetzt, allerding werden die ersten beiden Spalten mit einem ... belegt stad dem richtigen Text !


Das ist übrigens kein schlimmer Bug.
Du kannst im Ereignis "OnShortenString" dein eigenes Verfahren einbauen:

So wird z.B. einfach der ganze Text ausgegeben:

Code: Alles auswählen

procedure TForm1.VST1ShortenString(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  const S: WideString; TextSpace: Integer; var Result: WideString;
  var Done: Boolean);
begin
  Result:=S;
  Done:=True;
end;

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: VST: Neuer versuch gescheitert....

Beitrag von Christian »

Das ist gar kein Bug sondern ein Feature da der String offensichtlich nicht in die Spalte passt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: VST: Neuer versuch gescheitert....

Beitrag von theo »

Christian hat geschrieben:Das ist gar kein Bug sondern ein Feature da der String offensichtlich nicht in die Spalte passt.

Ja schon, aber in der "vtv-unstable" Version wird der String auf lediglich die Zeichen "..." gestutzt wenn er länger als der Platz ist.
Das ist schon ein Bug. Das kann man aber leicht zum "richtigen" Verhalten bringen in "OnShortenString":

Code: Alles auswählen

procedure TForm1.VST1ShortenString(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  const S: WideString; TextSpace: Integer; var Result: WideString;
  var Done: Boolean);
var
  Size: TSize;
  Len: Integer;
  L, H, N, W: Integer;
  EllipsisWidth:integer=0;
begin
  Done:=True;
  Len := Length(S);
  if (Len = 0) or (TextSpace <= 0) then
    Result := ''
  else
  begin
    // Determine width of triple point using the current DC settings (if not already done).
    if EllipsisWidth = 0 then
    begin
      EllipsisWidth := TargetCanvas.TextWidth('...');
    end;
 
    if TextSpace <= EllipsisWidth then
      Result := ''
    else
    begin
      // Do a binary search for the optimal string length which fits into the given width.
      L := 0;
      H := Len - 1;
      while L < H do
      begin
        N := (L + H + 1) shr 1;
        W:=  TargetCanvas.TextWidth((Copy(S,1,N)))+EllipsisWidth;
        if W <= TextSpace then
          L := N
        else
          H := N - 1;
      end;
      Result := Copy(S, 1, L-1) + '...'
    end;
  end;
end;

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: VST: Neuer versuch gescheitert....

Beitrag von pluto »

Danke Theo. Werde ich bei Gelegenheit ausprobieren.
Bei Christian weiß ich das inzwischen das er jeden BUG als besonderen Feature sieht. In diesen Fall könnte der String auch einfach abgekürzt werden mit einem ... wie es im allgemeinen auch üblich ist.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: VST: Neuer versuch gescheitert....

Beitrag von Christian »

Die VTV unstable kenn ich nicht.
Und ich sehe bestimmt nicht jeden Bug als besonderes feature.
Aber du siehst viele Sachen als Bugs weil du sie einfach nicht verstehst.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: VST: Neuer versuch gescheitert....

Beitrag von pluto »

Was ist denn an diesen BUG nun mal nicht zu verstehen ? Wenn ich fragen darf ? Aber ich glaube wir sollten das lieber lassen. Das Thema.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: VST: Neuer versuch gescheitert....

Beitrag von Christian »

Ich kenne die "unstable" nicht von daher kann ich nicht einschätzen ob da ein Bug ist in meiner VT Version ist da kein Bug.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten