Virtualtrees,ACS und TParadox dataSet im SVN

Zur Vorstellung von Komponenten und Units für Lazarus
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

achja da war ja was !
ich habe mp3 Dateien versucht abzuspielen und zwar mit dem beispiel Player.
ich habe die version 0.9.21 von lazarus
MFG
Michael Springwald

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

Beitrag von theo »

@Christian

Die VTV von SVN läuft unter Linux nicht ohne weiteres.
Nebst einem kleineren Durcheinander mit den Gross-Kleinschreibungen der Units,
gibt's eine Exception beim Starten:

Problem:
GetSystemMetrics(SM_CXMENUCHECK) etc (Zeile 3871 von virtualtrees.pas) ist nicht implementiert in GTK.
Bzw. gibt einen beliebigen Integer-Wert zurück worauf
IL := TImageList.CreateSize(Width, Height);
spuckt.

Wenn man manuell einen Wert angibt z.B. 14 läuft der Rest dann.

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

Beitrag von theo »

@Christian
Habe heute abend ein bisschen an VTV rumgeschraubt.
Es sieht so aus, als ob das horizontale Scrolling jetzt funzen würde.
Zumindest auf GTK 1 und 2 und mit den Tests die ich gemacht habe.
Auf Win habe ich es nicht getestet.

Im Attachment ist eine kompilierte GTK1 Demo die das zeigen soll.
Ausserdem der geänderte Quelltext, den ich heute von SVN gezogen habe.
Habe noch alle Unit Namen nach lowercase geändert, damit's bei Linux keine Probleme mehr gibt.
Linux *.lpk ist auch angepasst.

Ich habe meine Änderungen in virtualtrees.pas mit // theo 24.2.2007 gekennzeichnet.
Hoffe, dass es unter Windows auch läuft.
Aber es gibt noch viel zu tun mit VTV ... ;-)
Dateianhänge
vtscrolldemo.zip
VTV Scroll Demo.
GTK1 Kompilat und Sourcen
(1.22 MiB) 114-mal heruntergeladen

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:

Beitrag von Christian »

Danke ich schaus mir gleich mal an :)

wär nett wenn dus nächste mal n patch machst steht in der lazarus wiki unter creating n patch wie das genau geht ist einfach einfacher zu handlen und für dich auch nicht mehr aufwand :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von theo »

Christian hat geschrieben:Danke ich schaus mir gleich mal an :)
Und, wie sieht's aus auf Windows?
Christian hat geschrieben: wär nett wenn dus nächste mal n patch machst steht in der lazarus wiki unter creating n patch wie das genau geht ist einfach einfacher zu handlen und für dich auch nicht mehr aufwand :)
Joh, war mir nur nicht sicher, ob das mit der geänderten Kleinschreibung der Unit Namen so gut kommt.

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

Beitrag von pluto »

und woran hat es jetzt gelegen ?
gibt es schon irgenwelche updates im Quellcode die runtergeladen werden können ?

EDIT:
habe gerade gesehen das du denn Quellcode im zip hattes.
ich habe ihn übernommen und siehe da:
in meinem Paint2 Projekt geht hetzt das horzizontale scrollen und auch die checkboxen werden Angezeigt !
Endlich ! vielen Dank *G* auch wenn es für die Allgemeinheit geschrieben wurde !

edit2:
ich sehe gerade die Checkboxen Grafik wird bei der VST nicht geändert wenn ich drauf klicke....

unter Linux für Windows habe ich im moment keine Möglichkeit es zu testen!
MFG
Michael Springwald

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

Beitrag von theo »

pluto hat geschrieben: Endlich ! vielen Dank *G*
Bitteschön, hoffe nur, dass es auf Windows auch klappt.
pluto hat geschrieben: ich sehe gerade die Checkboxen Grafik wird bei der VST nicht geändert wenn ich drauf klicke....
Da ist der Christian glaub ich dran.

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

Beitrag von pluto »

achso.... es war gar nicht so einfach es zu installieren bzw. upzudaten aber ich glaube jetzt geht es !

Was mir jetzt erst aufält:
warum wird die komponente eigentlich ohne Rand angezeigt ?
es sieht so aus als ob BorderStyle bsNone stehen würde !

naja es währe toll wenn es überall klappen würde auser auf Linux und Windows oder ?

Jetzt finde ich die VST auch wieder toll achja zu den Checkboxen....

die sehen irgenwie Merkwürdig aus haben so ein roten Rand
MFG
Michael Springwald

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

Beitrag von theo »

pluto hat geschrieben: Jetzt finde ich die VST auch wieder toll achja zu den Checkboxen....
die sehen irgenwie Merkwürdig aus haben so ein roten Rand
Daran habe ich nichts gemacht, aber bei mir sehen die gut aus. Die hovern sogar!
Super Christian!
Dateianhänge
vtshot.png

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

Beitrag von pluto »

seltsam bei mir sieht das anders aus
Dateianhänge
eine leere VST unter Ubuntu
eine leere VST unter Ubuntu
Bildschirmfoto-Form1.png (3.98 KiB) 2558 mal betrachtet
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:

Beitrag von Christian »

Die checkboxen hatt ich letzte woche gemacht.

Aber Theo ist der Held der Woche. Geht auch im Windows.
Jetzt sinds wirklich nur noch kleinigkeiten die man auch leicht umschiffen kann die noch nicht richtig funktionieren.

Und Pluto du hättest ja auch n paar stunden warten können dann hätte ein "svn update" gereicht ....
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von theo »

Christian hat geschrieben: Aber Theo ist der Held der Woche. Geht auch im Windows.
:D

Aber 'n paar Sächelchen sind schon noch..... ;-)

Christian, hast du eigentlich eine Test-Suite für VTV?
Vielleicht auch nur eine Applikation mit VT's in verschiedenen Modi?
Das wäre ziemlich hilfreich zum debuggen. Damit man nicht irgendwo was "repariert" was in einem anderen Modus Schaden anrichtet.

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

Beitrag von pluto »

ich habe noch ein kleinen bug "gefunden"
wenn ich per Pfeiltasten den ItemIndex nach unten setzte wird nicht auto. gescrollt.
MFG
Michael Springwald

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

Beitrag von theo »

@Christian
Pluto hat leider recht, die Checkboxes haben einen "undefinierten" Rand und sehen nicht gut aus auf GTK. Mein Screenshot oben war leider reiner Zufall.
Das Problem liegt in virtualtrees.pas in procedure ConvertImageList(...

Du hast da versucht die Transparenz zu erhalten:
//somehow SaveToStream - LoadFromStream restores the tranparency lost in CopyRect
Aber irgendwie haut das trotzdem nicht hin auf GTK. Ich hab mich mit sowas auch schon schwarz geärgert. ;-)

Zum "Beweis", dass es daran liegt, habe ich die "Auschneidearbeit" dort mal von einem OpBitmap machen lassen:

Code: Alles auswählen

SourceOPB:=TCanvasOPBitmap.create;
     AssignBitmapToOpBitmap(Images,SourceOPB);
     for I := 0 to (Images.Width div Images.Height) - 1 do
      begin
        Source := Rect(I * IL.Width, 0, (I + 1) * IL.Width, IL.Height);
        TempOPB:=TCanvasOPBitmap.create;
        TempOPB.Width:=IL.Height;
        TempOPB.Height:=IL.Width;
        TempOPB.Canvas.CopyRect(Dest, SourceOPB.Canvas, Source);
        TempOPB.TransparentColor:=MaskColor;
        AnotherImage:=TBitmap.Create;
        AssignOpBitmapToBitmap(TempOPB,AnotherImage);
        TempOPB.free;
        IL.AddDirect(AnotherImage, nil);
      end;
      SourceOPB.free;
Und dann ist alles wunderbar.
Ich habe wirklich versucht, das mit einem normalen TBitmap hinzukriegen, aber ich hab's nicht geschafft.
Nun musst du entscheiden, ob du die Abhängigkeit von OPBitmap in VTV drin haben willst.
Es bräuchte nur opbitmap.pas und lazbridge.pas, die ganzen Lade-Formate ja nicht.
Dateianhänge
links mit TBitmap kopiert, rechts mit OpBitmap.
links mit TBitmap kopiert, rechts mit OpBitmap.

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

Beitrag von pluto »

kann das rect beim ersten versuch nicht irgenwie vergrößert werden ? für mich sieht das so aus als ob das rect zu klein ist !
MFG
Michael Springwald

Antworten