Autore Topic: Progetto pgDesigner 2/3  (Letto 86645 volte)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #240 il: 27 Aprile 2012, 13:04:13 »
Quindi, per il momento, mantengo la sola G3 installata da rpm, e mi baserò su quella per lo sviluppo, salvo aggiornamenti futuri

Anche xchè a mio parere è + stabile della 3.1!
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #241 il: 05 Maggio 2012, 14:27:39 »
Ho iniziato a riprendere il lavoro sul progetto... (qualcosina...)

Per il momento ho verificato il discorso .hidden, e confermo l'anomalia. Ho già trasferito le cartelle che erano stto .hidden nella home del progetto, e così funzia.

Ora vedo di ritornare a leggere i precedenti post, per riprendere i discorsi lasciati in sospeso.

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #242 il: 05 Maggio 2012, 14:33:52 »
forza md che l'esercizio mantiene giovani... ;D
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #243 il: 05 Maggio 2012, 14:34:43 »
forza md che l'esercizio mantiene giovani... ;D

non farmi parlare...  :evil: >:(

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #244 il: 05 Maggio 2012, 14:35:35 »
Ciao sfaticato... ;D
So che sei in altre faccende affaccendato, ma segnati pure questa nella TODO!
Da qualche versione in GB3 è stato implementato un nuovo componente gb.xml scritto completamente in gambas, che si affianca al vecchio, basato su libxml, rinominato per l'appunto in gb.libxml. Ebbene, gb.xml è tuttora in stato di test ed ovviamente ha qualche problemino. Inoltre mi pare sia un pochino cambiata la logica, non ci ho guardato a fondo; ad ogni modo, pgdesigner3 all'avvio seleziona il componente gb.xml (dal nome) e questo causa un errore di NOT AN  OBJECT alla linea.
PgXmlDocument.Load.79 (Select Case oXml.Node.Type)

Per garantire il funzionamento di pgdesigner3 devi selezionare nelle proprietà progetto il componente gb.libxml
Alla prossima.
Non vedo la gb.libxml, ma ad ogni modo la gb.xml c'è e funziona...  :-\

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #245 il: 05 Maggio 2012, 14:52:19 »
riguardo gli eventi, considerando l'automatismo con cui Gambas scatena l'evento Activate per le Action, potresti utilizzare la funzione Action_Activate nel seguente modo:

Codice: gambas [Seleziona]
Public Function Action_Activate(sKey As String) As Boolean
  Raise ActionEvent(sKey)
End


sostituendola alla sub
Codice: gambas [Seleziona]
Public Sub MenuButton_Click()
  Raise ActionEvent(Last.Action)
End


PS: ricordati l'ora, nella rev. 496 è ancora errata.
Citazione
...modifica il formato di Timestamp da "mm/dd/yyyy hh:mm:ss" in "mm/dd/yyyy hh:nn:ss"

Ho corretto il formato data!

Riguardo agli eventi non ho ben capito cosa intendevi in questo post...  :-\

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #246 il: 05 Maggio 2012, 14:53:45 »
Rispondo in due tempi per maggiore chiarezza.

Non vedo la gb.libxml, ma ad ogni modo la gb.xml c'è e funziona...  :-\
xchè stai lavorando sulla 3.0 da repo. La libreria che usi in pgdesigner è stata convertita in gb.libxml dalla rev. 3.1 allorchè è stata introdotto il componente gb.xml scritto in Gambas. Purtroppo quando aggiornerai da svn, riscontrerai certamente il problema:
dal changelog:
------------------------------------------------------------------------
r4640 | gambas | 2012-04-20 03:01:48 +0200 (ven, 20 apr 2012) | 9 lines

[GB.LIBXML]
* NEW: Rename the gb.xml component as gb.libxml.

[GB.LIBXML.XSLT]
* NEW: Rename the gb.xml.xslt component as gb.libxml.xslt

[GB.LIBXML.RPC]
...
------------------------------------------------------------------------
r4644 | prokopy | 2012-04-21 00:57:18 +0200 (sab, 21 apr 2012) | 2 lines

[GB.XML]
* NEW: New XML manipulation component
* NEW: Rename the gb.xml.rpc component as gb.libxml.rpc
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #247 il: 05 Maggio 2012, 15:01:55 »
Riguardo agli eventi non ho ben capito cosa intendevi in questo post...  :-\

ricordi che al click su una voce di Menu  si registrava nel log il messaggio "UnknownMethod 'ActionActivate'"?.
Probabilmente G3 associa in automatico l'evento Action_Activate a tutte le azioni. Di conseguenza al solo scopo di ovviare alla registrazione nel log ti consigliavo di inserire la funzione Action_activate(skey as string) dove semplicemente fai scatenare l'evento corrispondente. In pratica sostituire la sub:
Codice: gambas [Seleziona]
    Public Sub MenuButton_Click()  
     Raise ActionEvent(Last.Action) 
    End 


con la gestione delle actions:
Codice: gambas [Seleziona]
    Public Function Action_Activate(sKey As String) As Boolean  
     Raise ActionEvent(sKey) 
    End 
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #248 il: 05 Maggio 2012, 15:32:22 »
Ciao md9327,
ho visto le modifiche e dato una occhiata alla gestione del log, bel lavoraccio...
Bisogna riconoscerti uno sforzo non indifferente nella scrittura di questa nuova versione di pgd.
A proposito di log ho notato che gli eventi relativi a:
-MainMenuBar
-MainPanel
-MainStatusBar
-MainWindow

vengono scatenati due volte, a causa delle dichiarazioni di osservatori alle righe da 265 a 268. Infatti nelle righe precedenti laddove istanzi gli oggetti associ già lo stesso osservatore. Puoi verificarlo nel file di log, dove trovi le voci ripetute degli eventi "Unknown method Action_Activate".

Codice: gambas [Seleziona]
 With $mainPanel = New PgMainPanel As "MainPanel"
...
...
hObs = New Observer($mainPanel) As "MainPanel"


Scusami se ti segnalo le anomalie che riscontro in modo un poco disordinato, ma approfitto del tempo libero e purtroppo questo è una risorsa in esaurimento... :'(
...

Ho trasformato i messaggi in warning. Per il momento lascio le cose come stanno, in previsione di analisi più approfondite in futuro...

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #249 il: 05 Maggio 2012, 15:41:36 »
Riguardo agli eventi non ho ben capito cosa intendevi in questo post...  :-\

ricordi che al click su una voce di Menu  si registrava nel log il messaggio "UnknownMethod 'ActionActivate'"?.
Probabilmente G3 associa in automatico l'evento Action_Activate a tutte le azioni. Di conseguenza al solo scopo di ovviare alla registrazione nel log ti consigliavo di inserire la funzione Action_activate(skey as string) dove semplicemente fai scatenare l'evento corrispondente. In pratica sostituire la sub:
Codice: gambas [Seleziona]
    Public Sub MenuButton_Click()  
     Raise ActionEvent(Last.Action) 
    End 


con la gestione delle actions:
Codice: gambas [Seleziona]
    Public Function Action_Activate(sKey As String) As Boolean  
     Raise ActionEvent(sKey) 
    End 


Sì, ricordo, e ho inviato a tal proposito il post precedente a questo. Devo però analizzare la cosa. Gli eventi sono tutti collegati alle rispettive classi, e controllare quelli di Action mi porta fuori strada. In teoria l'evento Activate viene scatenato a prescindere, e dato che non trova un metodo adatto, và negli eventi sconosciuti e attiva il metodo _unknown(). La cosa è alquanto anomala, in quanto uno non è obbligato a gestire tutti quanti gli eventi. Ad ogni modo i messaggi, a questo punto, li lascio come sono, ma come warning. Magari poi analizziamo come ovviarli. Ho fatto una modifica nei metodi in Application che intercettano gli eventi, che richiamano un unico metodo privato, in cui ho messo una condizione proprio dull'Activate. La cosa non mi piace molto, e forse la toglierò a breve...

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #250 il: 05 Maggio 2012, 17:57:55 »
Carissimo sotema,

stavo riepilogando un pò i sorgenti e lo stato in cui l'avevo lasciati, e mi sono accorto che manca una cosa:

IL TUO NOME!!!  :D

Se ti và, e se mi dai il tuo nome, lo inserisco nei contributori del progetto, che mi pare pure giusto...  :D
In alternativa, se mi dai il consenso, magari metto solo il nick di qui del forum, ma mi pare un pò bruttino...

Fammi sapere, anche in privato o via email!

Ciao!!!

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #251 il: 24 Maggio 2012, 21:04:43 »
Ciao md9327.
pgDesigner3 rev. 515:

nelle seguenti classi (driver object):
PgDataDatabase
PgDataDomain
PgDataFunction
PgDataSchema
PgDataSequence
PgDataTable
PgDataTableIndex
PgDataTablespace
PgDataTrigger
PgDataType
PgDataView


dovresti eliminare l'istruzione CREATE PRIVATE. altrimenti le suddette non possono essere istanziate.

L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #252 il: 25 Maggio 2012, 10:06:38 »
Sì, lo sò, sono rimaste così in quanto avevo pensato di derivarne altre a seconda del driver.
Per il momento non vengono ancora utilizzate, mentre lo sono quelli only-graphix (Area, Image,...)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #253 il: 30 Maggio 2012, 21:17:48 »
ok, attento però che selezionando Create Object ---> Create Table dal Menu PopUp del Progetto, vai ad istanziare la PgDataTable, con conseguente errore.

Rev. 521:
la riga 268 di PgDbConnect.Test credo debba essere:
Codice: gambas [Seleziona]
Return True

L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #254 il: 31 Maggio 2012, 00:23:41 »
Ok, ho disabilitato temporaneamente gli item relativi nei menu.
Ho corretto anche la funzione Test...

Thanks!!!  :ok: