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

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #90 il: 26 Aprile 2011, 21:53:21 »
Ciao MD,
il lavoro con pgd2 prosegue, anche se a rilento, senza problemi con postgresql.
Ieri, le feste comandate mi annoiano sempre un poco..., ho avuto la malsana idea di provare a produrre lo stesso progetto con Mysql, per fornire all'eventuale utente di un progetto che ho in mente, la possibilità di scegliere il DB che preferisce.
Quindi ho avviato un nuovo progetto Mysql50 e creato la prima tabella...che non riesco a popolare con le colonne xchè cliccando sul pulsante "NUOVO" nella maschera "modifica tabella" non succede nulla, cioè non appare la maschera di editing del campo, mentre risulta possibile creare indici e triggers.
Spero di avere espresso chiaramente il problema.

Anche una curiosità: è corretto che la funzione "Esporta verso fonti esterne" non crea il Database sul server? Nella fase di creazione progetto è possibile configurare il DB, ma questo deve esistere sul Server altrimente la connessione fallisce.

Grazie
Emanuele
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 #91 il: 27 Aprile 2011, 21:12:37 »
Ri-ciao,
come ti dicevo lo sviluppo su pgsql prosegue.  Oggi avevo la necessità di impostare un campo ENUM. Quindi tramite PGD2 ho creato il tipo, chiamandolo 'comparto' al quale ho aggiunto alcuni attributi. Vedi l'allegato Tipo_Enum.png. In seguito ho creato una tabella nella quale inserire un campo che utilizza il tipo 'comparto'., ma esportando il progetto, in SQL o su DB, ottengo l'errore seguente:

[04/27/2011 20:04:47 INFO   ] pgSqlExport::Creazione intestazione ...
[04/27/2011 20:04:47 INFO   ] pgSqlExport::Scrittura <Tipo::comparto> ...
[04/27/2011 20:04:47 INFO   ] pgSqlExport::Type mismatch: wanted Collection, got String[] instead
[04/27/2011 20:04:47 ERROR  ] pgDialogExport::pgDialogExport::Errore processo!
[04/27/2011 20:04:47 ERROR  ] Type mismatch: wanted Collection, got String[] instead
[04/27/2011 21:04:30 WARNING] pgPanelEditType::Method SaveBefore not found !
[04/27/2011 21:04:30 WARNING] pgPanelEditType::Method SaveAfter not found !


dove sbaglio?
Emanuele
« Ultima modifica: 27 Aprile 2011, 21:14:27 da sotema »
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 #92 il: 28 Aprile 2011, 10:48:37 »
Ad occhio credo sia un errore di programma, che devo controllare.

Se hai pazienza, cerco di risolverlo prima possibile...

Grazie per i test che stai facendo sulla nuova versione.  :-*

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #93 il: 28 Aprile 2011, 12:52:14 »
Nessuna urgenza, il progetto è ancora in stato embrionale e non vi è nessuna deadline.
Per quanto riguarda i test ho deciso di sviluppare un DB anche in SQLITE3, in modo da comunicarti eventuali problemi. Trovo PGDesigner un pezzo unico nel panorama di progettazione DB ed un'ottima scuola; quindi ringrazio te per averlo pensato e prodotto.
Ciao

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 #94 il: 28 Aprile 2011, 13:52:49 »
Ti ringrazio, troppo buono...  :D

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Progetto pgDesigner 2
« Risposta #95 il: 28 Aprile 2011, 15:42:57 »
Ti ringrazio, troppo buono...  :D

Ehi se dai anche a me la stessa cifra posso scrivere cose ancora più lodevoli.... :rotfl:

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #96 il: 28 Aprile 2011, 16:23:56 »
Citazione
Ehi se dai anche a me la stessa cifra posso scrivere cose ancora più lodevoli.... rotfl

...venale...aspetta magari dopo che ho dato un'occhiata ai tuoi lavori possiamo pattuire un compenso! ;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 #97 il: 28 Aprile 2011, 16:32:04 »
In quel caso dovrebbe darti qualcosa lui stesso...  :P

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #98 il: 01 Maggio 2011, 16:09:13 »
Ciao Luigi,
come promesso ho fatto alcune prove con MYSQL  e SQLITE. Purtroppo devo informarti che ho riscontrato problemi con entrambi i motori; ti riassumo di seguito.

MYSQL:
  • Creata la prima tabella risulta impossibile impostarne le colonne perché cliccando sul pulsante nuovo non si apre la maschera di modifica colonna.
  • Salvando il progetto, alla successiva apertura pgdesigner2 segnala "errore caricamento progetto" immediatamente dopo il tentativo di caricare il file
       della tabella. (Vedi log allegato)

SQLITE (vale per entrambe le versioni 2 e 3)
  • Creata la tabella mi risulta impossibile impostare il tipo di campo xchè il combobox Tipo non è popolato.
  • Anche in questo caso salvando il progetto, alla riapertura ottengo l'errore di caricamento progetto

Nota che l'errore di caricamento si verifica solo se nel progetto esiste una tabella, anche vuota, viceversa l'apertura va a buon fine.
Ti allego immagine relativa a sqlite (combobox vuoto), file di progetto Mysql e file di log relativo a Mysql.

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 #99 il: 03 Maggio 2011, 19:18:01 »
Allora...

dovresti fare un controllo, ovvero verificare l'esistenza dei seguenti file, nella cartella "config" di pgDesigner2:

DATABASE.COMMANDS
DATABASE.COMMENTS
DATABASE.ENGINES
DATABASE.INFO
DATABASE.LANGUAGES
DATABASE.OPERATORS
DATA.INFO
DRIVER.INFO
FIELDTYPE.INFO
GAMBAS.VERSION
HT.INFO
LANGUAGE.INFO
MIMETYPE.INFO
OBJECT.INFO
PGDESIGNER.HELP
PGDESIGNER.PARAMETERS
PGDESIGNER.VERSION

Questi file sono essenziali al programma, perchè contengono la configurazione applicativa.
Il fatto che non ti si popolano le combo, è molto probabile che sia a causa dell'assenza di questi file.

Inoltre, per sicurezza, dovresti controllare che esista la cartella "images" e, sotto di essa, almeno la cartella "default".
In questa cartella sono presenti tutte le icone e le immagini dell'applicazione. E' anche vero che dagli screen-shot che hai inviato, non penso sia necessario, comunque sono circa 144 file .png.

Fammi sapere.

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #100 il: 03 Maggio 2011, 21:42:55 »
eccoci;
ho verificato, i file esistono, ti allego l'output del comando ls. La cosa strana è che con Postgre funziona.
Altrettanto strano è che la funzione 'nuovo' funziona nel tab 'indici' della maschera modifica tabella.
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 #101 il: 04 Maggio 2011, 19:04:40 »
Ok, in effetti non funziona nemmeno a me, ed è probabile che in qualche modo abbia cambiato qualcosa.
Di solito provo la parte PostgreSQL, e forse ho malauguratamente disattivato qualcosa su gli altri motori.

Ora vedo di risolvere.

Il test che ti ho fatto fare era solo per essere certi che avessi tutto l'occorrente...

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #102 il: 04 Maggio 2011, 19:35:56 »
Nessun problema, se vuoi che effettui altre prove sono disponibile.
In effetti le mie esigenze sono concentrate su PostgreSQL; se puoi assegna una priorità maggiore al problema del tipo Enumarate. Quando avrai risolto con SQLite e MySQL fammelo sapere che continuerò i test.
Grazie,
Emanuele
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 #103 il: 04 Maggio 2011, 22:09:54 »
Credo di aver risolto tutti i problemi che mi hai segnalato.

1) il problema del popolamento della combo per i tipi di campo era causato da un errore di caricamento dal file di configurazione.
2) il problema dei pulsanti di gestione dei campi di tabella era causato da un'impostazione errata degli eventi di gruppo.

Per gli errori di caricamento dei file di progetto, non ho evidenziato problemi, infatti tutti i test che ho fatto prima e dopo le correzioni non hanno evidenziato anomalie. Ad ogni modo, se ti si ripresenta il problema, prova a inviarmi il file, così vedo se per caso c'è una qualche condizione che non ho previsto, o altro (insieme al log).

L'errore sull'export a me non lo dà, ma è possibile (come sopra) che non abbia previsto alcune anomalie. In questo caso dovresti descrivermi cosa in effetti fai, e che dati stai inserendo, così che possa rifarlo anche io. Fai sempre in modo che possa individuare la piattaforma che stai sando, come ad esempio il driver (PostgreSQL, MySQL o SQLite) e la versione, e eventuali altri parametri. Tutte queste cose mi sono necessarie per andare puntualmente sulla parte di codice interessata. Tieni conto che per ogni tipo di database, oltre alla singola versione dello stesso, c'è un oggetto ad-hoc, come credo tu abbia già notato, per cui l'anomalia potrebbe risiedere in un particolare punto, come anche coinvolgere un'intera struttura.
I driver per i database sono stati creati in modalità ad incastro, ovvero ogni versione ha il suo codice solo se diverso dalla versione precedente. Questo mi permette di risparmiare codice, oltre ad incapsulare le varie funzioni e metodi. L'unico problema è che Gambas non permette di incapsulare classi all'infinito, per cui sono stato costretto a suddividere il codice in blocchi di classi, obbligandomi anche a ripetere lo stesso codice su più classi.

Vabbè, a parte questa descrizione, prova a scaricarti la nuova versione dal repository (l'ho aggiornata ora), e riprovare con i test, e fammi sapere se ora gli errori sono stati risolti.

Bye

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #104 il: 04 Maggio 2011, 23:33:12 »
innanzitutto grazie per la velocità. Suddivido la risposta in punti per maggiore chiarezza.

1. Popolamento combo in SQLite3: risolto
2. Creazione campi in MySQL5: risolto
3. Export verso fonti esterne con PostgreSQL8.4: fallisce dopo avere creato un nuovo "TIPO", nello specifico un tipo ENUM.


Con il motore SQLite3 ho riscontrato un nuovo problema all'atto del salvataggio di un oggetto tabella, pgdesigner 2 si blocca con il messaggio: "this application has raised an unaxpected error and must be aborted."

Con il motore Mysql50 la lunghezza dei campi viene indicata senza virgola (40,0 --> 400)

Ti allego .gz contenente:
1. file progetto postgresql84 (pneusoft.pgd)
2 file di log sqlite (pgdesigner2_log_lite.txt)
3. immagine png con i campi Mysql
4. schermata errore export
5 log postgresql84 export error
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein