Italian community of Lazarus and Free Pascal

Programmazione => Componenti Aggiuntivi => Topic aperto da: Stilgar - Aprile 27, 2012, 12:05:26 pm

Titolo: SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 27, 2012, 12:05:26 pm
Qualcuno ha già convertito da VCL a LCL un componente?
Allego componente per Delphi ...
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 27, 2012, 01:48:36 pm
Porca paletta.
Non trovo un metodo (ScrollBy) tra i sorgenti, ma lo trovo nella documentazione di TWinControl ...
Devo estendere un TCustomControl (figlio diretto di TWinControl).
Sono io il fortunello o anche a voi manca il metodo nel wincontrol.inc?

La documentazione ....
http://lazarus-ccr.sourceforge.net/docs/lcl/controls/twincontrol.scrollby.html

TWinControl.ScrollBy Move all child controls.
 Declaration Source position: controls.pp line 2097
 
public procedure TWinControl (http://lazarus-ccr.sourceforge.net/docs/lcl/controls/twincontrol.html).ScrollBy(
  DeltaX: Integer (http://lazarus-ccr.sourceforge.net/docs/rtl/system/integer.html);
  DeltaY: Integer (http://lazarus-ccr.sourceforge.net/docs/rtl/system/integer.html)
); virtual;
Arguments
DeltaX  Increment for Left.
DeltaY  Increment for Top
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Microges2000 - Aprile 27, 2012, 02:27:42 pm
Non capisco quale ScrollBy cerchi.
In Wincontrol è definito cosi':

procedure TWinControl.ScrollBy(DeltaX, DeltaY: Integer);
var
  i: Integer;
begin
  // scroll inner controls
  for i := 0 to ControlCount - 1 do
    with Controls do
      SetBounds(Left + DeltaX, Top + DeltaY, Width, Height);
end;

se intendi la documentazione è un poco ostica e riporta:

TScrollingWinControl.ScrollBy

Tells the widget to scroll the client area relative.
Declaration

Source position: forms.pp line 186

public procedure TScrollingWinControl.ScrollBy(

  DeltaX: Integer;

  DeltaY: Integer

); override;
Description

The still visible part doesn't deserve a repaint (optimization).

quindi si capisce poco
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 27, 2012, 02:33:27 pm
Inizio a matura la convinzione di dover fare l'aggiornamento della LCL montata a bordo di Lazarus con l'installazione...

Situazione:
SimpleGraph per eseguire lo scoll chiama il parent method.
Fin qui nessun problema.
Il compilatore si imbufalisce...
Codice: [Seleziona]
D:\Lavoro\FreePascal\SimpleGraph\src\SimpleGraph.pas(7745,25) Error: identifier idents no member "ScrollBy"

Sono andato a controllare sui sorgenti che ho in lazarus ... effettivamente il compilatore ha sempre ragione ... non trova il metodo.

Dalla documentazione dovrei trovarlo :
[cite]
TWinControl.ScrollBy Move all child controls.
 Declaration Source position: controls.pp line 2097
[/cite]

Visto che tu posti il codice del metodo ... e io non lo trovo sul mio pc ... la domanda diventa, come diavolo si fa (in modo pulito e sicuro) ad aggiornare l'LCL da SVN ... (ho tutti i repo sinconizzati a 10 minuti fa ;) )

Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Microges2000 - Aprile 27, 2012, 04:22:16 pm
Azz puo' essere che lo abbiano spostato/rinominato/etc...

comunque puo' dichiararlo all'interno dell'oggetto cosi'

procedure MioOggetto.ScrollBy(DeltaX, DeltaY: Integer);
var
  i: Integer;
begin
  // scroll inner controls
  for i := 0 to ControlCount - 1 do
    with Controls do
      SetBounds(Left + DeltaX, Top + DeltaY, Width, Height);
end;
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 27, 2012, 04:26:25 pm
Più che altro nella versione SVN c'è.... porca paletta.
Solo che per la versione lazarus-0.9.30.4-fpc-2.6.0-win32.exe  non installa l'ultma versione delle librerie ...
Mi viene da pensare che abbiano fatto la build a pene di segugio zoppo....
Ora ho installato nuovamente laz e sto sostituiendo tutti i sorgenti in blocco ... altrimenti butto via e reinstallo ...
Cerco che queste cose sono frustranti :(
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 27, 2012, 04:28:31 pm
Niente da fare.... ok sono rasegnato ... parto dalla compilazione di tutto ... se non va neanche in questo modo ... sono best...mie che piovono ...
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 27, 2012, 04:32:50 pm
Proviamo Lo Snap.
Certo che incoraggiano a provarli ....
BEWARE: These snapshots are generated automatically and are untested. The only thing we can say is, that the compiler found the source good enough to compile.
More information about these snapshots can be found on the wiki page about Lazarus snapshots.
These snapshots are provided as a courtesy only. If they don't work, too bad! If they destroy your project files, crash your machine, and eat your disk: Tough luck! (just to say that YOU ARE USING COMPLETELY UNTESTED SOFTWARE)
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 27, 2012, 04:51:43 pm
Bene lo snap shot di laz 1.1 per win32 compila le parti che la "stabile" non compila .... grrrr
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 28, 2012, 12:15:37 am
http://www.lazarus.freepascal.org/index.php/topic,16783.msg91657/topicseen.html#new (http://www.lazarus.freepascal.org/index.php/topic,16783.msg91657/topicseen.html#new)

Cavolo, la LCL è del 2011, non del 2012.
Per forza non trovo i metodi :(

A bordo del pacchetto è caricata la revisione 29879 di control.pp mentre quella che mi serve è a partire dalla 29944.
Pochi giorni dopo :(
Hanno messo la versione del 17/3 al posto di quella del 21/3 ...
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: nomorelogic - Aprile 28, 2012, 10:21:24 am
è per questo che sto guardando fpcup ;)
Titolo: Re:SimpleGraph .. conversione in LCL
Inserito da: Stilgar - Aprile 28, 2012, 10:45:29 am
Ecco cosa odiavo dei progetti open ...
Quando trovi un problema, per risolverlo devi risalire fino al big bang :(