Autore Topic: Creazione componenti Gambas – nuova discussione  (Letto 2576 volte)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Creazione componenti Gambas – nuova discussione
« il: 31 Marzo 2016, 23:21:20 »
Non so se faccio bene a dividere la discussione che incombe appena sopra, ma essendo passato così tanto tempo dall'ultimo post credo di si.
Il problema è che pur essendo più che interessantissima di quella discussione è venuta meno l'attualità, nel senso che le cose dette e descritte non funzionano più completamente.
Da quella proficua discussione sono nati Guida, Tutorial  e componenti, che andrebbero rivisti.
Spero tanto che Milio il quale ogni tanto viene a visitarci guardi qui e ci dia una mano.
Ho provato a creare il Frame del suo Tutorial ma come detto poi non sono riuscito a farlo funzionare, il procedimento iniziale è cambiato tanto che se volete provare anche voi dovreste dare un'occhiata ai passaggi per creare il componente InvBox un semplicissimo componente da me ideato come esempio per il libro che stiamo scrivendo.
Comunque i cambiamenti rispetto a prima sono solo quelli iniziali e nell'insieme la Lezione di Milio è ancora attuale.
Allego a questo post il risultato della manipolazione di quel Tutorial che funziona ma solo in parte e vorrei sapere se qualcuno di voi è invece capace di ricrearlo come lo aveva ideato Milio.
Al frame allegato non funziona a dovere la proprietà Arrangement come potete constatare avviando l'applicazione.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #1 il: 01 Aprile 2016, 11:25:16 »
Ciao
Non sono un'esperto come Milio ;), ma qualcosa insieme a lui avevo fatto.
Adesso non ho capito bene cosa vuoi fare, ho modificato il tuo progetto... in realtà ho solo aggiunto
Citazione
Public Const _Group As String = "Form"
Vedi casomai proviamo andare avanti
Ciao

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #2 il: 01 Aprile 2016, 15:48:22 »
Scusa Golia ma non capisco, non c'è differenza funzionano allo stesso modo.  :-\
Nel senso che purtroppo Arrangement non va, non è come nel frame originale, come potevi vedere dal componente da me postato.
Vedi immagini allegate

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #3 il: 01 Aprile 2016, 16:49:30 »
...
Vedi casomai proviamo andare avanti
Ciao

Ciao Golia,
siccome quanto postato prima potrebbe apparire una critica, cosa da me non voluta assolutissimamente, ti chiedo scusa per la forma e ... aiuto ben accetto per la sostanza  :)

Quello che nel post iniziale intendevo era che non essendo io riuscito a riprodurre il Frame spiegato nel Tutorial di Milio chiedo a te che hai collaborato se per cortesia ci dici se è possibile riprodurlo e come.
Quello da me postato era solo un modo alternativo (senza l'uso della form per disegnarci direttamente e senza l'uso dell'osservatore) peraltro non completamente funzionante (vedi sopra).
Ammesso e non concesso che quello di Milio funzionasse perfettamente con Arrangement.
Alla fin fine vorrei vedere se è possibile aggiornare tutto quanto riguarda i componenti.
Ancora ciao e grazie
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #4 il: 01 Aprile 2016, 17:04:38 »
Ciao,   :) non preoccuparti non avevo inteso nessuna critica.
Diciamo che mi sono messo in fila per capirci un po di più anche io ;D
comunque adesso ho capito il problema.  Se non arriva milio prima, domani provo a capire qualcosa.

In questo periodo sono proprio alle prese con un componente,  una sottomarca di gidbox ;D
non che gidbox non faccia il suo dovere,  anzi. Solo il piacere di programmare :)

Comunque se metti in cantiere un componente, nel mio piccolo mi piacerebbe aiutarti
ciao

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #5 il: 01 Aprile 2016, 17:38:54 »
 :D
Purtroppo idee su nuovi componenti non ne ho proprio, l'idea era solo quella di rendere tutto ciò che riguarda i componenti presenti nella wiki funzionante.
Non avendo però intenzione per ora di chiedere il permesso di scrivere sulla wiki non brucia assolutissimamente nulla.
È che avendoli studiati per scriverne sul libro mi hanno intrigato...
Non mi è ancora chiara l'implementazione del componente nel progetto quando questi fa uso di finestra e o più classi.
Ma come dice Sotema non si smette mai di imparare.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #6 il: 01 Aprile 2016, 19:41:02 »
Non so se è sufficente ho fatto in fretta, prova così
 

Ps guardo domani ho sbagliato ;D
« Ultima modifica: 01 Aprile 2016, 19:54:26 da Golia »

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #7 il: 02 Aprile 2016, 13:48:03 »
credo di aver trovato l'inghippo.
in pratica Arrangement  funziona, è solo che lo spazio "container" si sovrappone al disegno linee e al testo.
Abbassando il container e spostandolo più in basso mi sembra vada bene.

Nella sub hPanel_Arrange() aggiungi sotto:

  Me._Container.Y = Me._Container.Y + $Font.TextHeight("")
  Me._Container.Height = Me._Container.Height - $Font.TextHeight("")

Aspettiamo se Milio approva  ;D
« Ultima modifica: 02 Aprile 2016, 13:52:30 da Golia »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #8 il: 02 Aprile 2016, 17:08:14 »
Bravo Golia, funziona bene, ma conviene farlo lavorare solo quando serve e cioè:

Codice: [Seleziona]
  If Me.Arrangement <> 0 Then
    Me._Container.Y = Me._Container.Y + $Font.TextHeight("")
    Me._Container.Height = Me._Container.Height - $Font.TextHeight("")
  Endif
Ragionando (si fa per dire perché oggi mi riesce particolarmente difficile) su Arrangement ho notato che la proprietà non serve l'ho eliminata completamente.
Inoltre non riesco a capire perché nel costruttore ho scritto questo
Codice: [Seleziona]
$hPanel.Name = Me.Name
Misteri della mente.
Ho aggiunto, sempre nel costruttore, per farlo simile al frame originale:

Codice: [Seleziona]
$hPanel.Padding = 2
Senza però gestirlo in somma alla proprietà come pare faccia il frame originale.

Cosa ci si potrebbe mettere o cambiare per implementare anche l'osservatore?
Sempre in attesa del capo  ;D
 :ciao:

PS: Nella mia improbabile funzione di moderatore mi vedo costretto a rammentarti di postare il codice fra i cancelletti   :P
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #9 il: 02 Aprile 2016, 19:27:26 »
Citazione
PS: Nella mia improbabile funzione di moderatore mi vedo costretto a rammentarti di postare il codice fra i cancelletti   :P
:ok:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #10 il: 04 Aprile 2016, 15:42:07 »
Ciao Gianluigi, ciao Golia...

La guida e' stata scritta quando ancora usavo gambas2.

Ho fatto alcune modifiche aggiungendo altri oggetti, vedete se cosi' funziona.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #11 il: 04 Aprile 2016, 15:58:32 »
Intanto stragrazie per la risposta  :D

Ti devo dire che se non sbaglio hai operato non sull'ultima credo.

Quello che hai postato si posiziona solo su verticale anche se metti la proprietà su orizzontale o none  :-\

Non era quello che intendevamo, noi vorremmo un comportamento uguale a quello del frame originale con in più il bordo colorato, oppure non era quello il tuo intendimento quando hai creato la lezione?

Ciao e scusa il rompimento.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #12 il: 04 Aprile 2016, 16:30:46 »
Mi sono dimenticato di precisare che io gradirei sapere se è sempre possibile creare componenti aiutandoci con la IDE come hai fatto nella lezione.
Perché io non ci sono riuscito.  :'(

 :-*  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #13 il: 04 Aprile 2016, 17:21:31 »
Quello che hai postato si posiziona solo su verticale anche se metti la proprietà su orizzontale o none  :-\

Ma dici la proprietà Arrange del FrameDraw? A me non risulta.

Mi sono dimenticato di precisare che io gradirei sapere se è sempre possibile creare componenti aiutandoci con la IDE come hai fatto nella lezione.
Perché io non ci sono riuscito.  :'(

 :-*  :ciao:

Non ho capito cosa tu intenda. Vuoi dire creare un componente utilizzando i sorgenti per altri progetti? oppure creare un pacchetto di installazione del componente?

Per la prima mi sembra ovvio che si, l'esempio stesso ne e' conferma.
Per quanto riguarda il creare un pacchetto di installazione, non ne ho piu' avuto occasione: primo perche' da quando son passato da G2 a G3 mi sono tirato una mazzata sui cocomeri, secondo perche' ormai mi sono focalizzato principalmente su un progetto solo e quindi ho creato di volta in volta i componenti che mi servivano nel progetto stesso.


Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creazione componenti Gambas – nuova discussione
« Risposta #14 il: 04 Aprile 2016, 17:49:10 »
Scusa Milio,
mi sono spiegato male.
Si a me Arrangement come vedi dall'immagine non funziona altro che su verticale.
Circa la lezione intendevo dire che non sono riuscito a ricreare il componente col sistema di usare una finestra (FFrameBox) e disegnare gli oggetti li sopra. Non ho capito come si fa.
Sono troppe le cose che sugli oggetti non ho ancora capito tanto è vero che InvBox non funziona come credevo e stavo giusto cercando di capire perchè non mi legge il testo e pensa che ho avuto il coraggio di parlarne.  :'(
Accidenti che cane che sono.  :'( :'(
 :ciao:

PS: Come non detto a parte che l'immagine era sbagliata ora funziona e credo di aver capito perchè si riposizionava su verticale dopo che io l'avevo cambiata. Quando si usa un progetto altrui è bene prima ricompilarlo e per tranquillità chiuderlo e riaprirlo.
Ora capisco perché TopFuel a volte mi dice che non sa perché prima un mio progetto non gli funzionava e poi si.
Andrebbe fatto questo anche quando si usano i nostri stessi progetti dopo un aggiornamento importante di Gambas.
Tipo passare dalla 3.5 alla 3.8
Scusami tanto
« Ultima modifica: 04 Aprile 2016, 17:57:58 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro