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

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #270 il: 24 Luglio 2012, 18:39:11 »
In realtà, dovrei salvare l'ultima path usata a livello di sistema, e nel progetto l'ultimo file salvato.

La tua idea è quella di usare una cartella repository, il che potrebbe anche essere un'idea, ma devo pensarci...

Riguardo gli errori, dovresti controllare se hai l'ultimissima build. Il problema l'avevo riscontrato e subito corretto.
Manca ancora qualcosa...

Ho aggiornato ora, ultima build 563
« Ultima modifica: 24 Luglio 2012, 19:56:23 da md9327 »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #271 il: 30 Luglio 2012, 20:12:35 »
Nella build di oggi (l'ultimissima), ho attiva la lettura/scrittura dei file progetto.

Se hai la possibilità, tocca testare a fondo le due procedure dove, molto probabilmente, ci sarà ancora lavoro da fare per sistemare le cose.

Ho fatto dei test preliminari, e mi pare funzioni. Per il debug verrno emessi messaggi nella console, e una specie di timer prima del termine effettivo delle operazioni. Appena tutto è a posto li elimino...

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #272 il: 31 Luglio 2012, 20:10:20 »
Nel (poco) tempo libero farò certamente delle prove.
Nel frattempo vorrei suggerirti di impostare Nome del File uguale al nome del progetto, già in fase di creazione. Potresti usare l'evento LostFocus() della TextBox, allo scopo di evitare la sovrascrittura accidentale.
Inoltre abilitando il componente gb.form.dialog potresti impostare l'estensione automatica (.pgd) per i file di progetto nella maschera di salvataggio.

A presto. :ok:
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 #273 il: 01 Agosto 2012, 19:58:42 »
Mi pare che le due cose che mhai menzionato ci siano, ma farò un controllo.

Nell build di questa sera, ho corretto e implementato ancora qualcosina riguardo il R/W dei file di progetto, in particolare la scrittura/lettura delle immagini per gli oggetti PgPaintImage.
Rispetto a Gambas2 sono cambiate parecchie cosette riguardo alla gestione dei puntatori in memoria, che mi hanno causato un bel mal di testa.

N.B.: per gli oggetti image non ho ancora messo un limite di dimensioni dell'immagine, e quindi tocca stare bene attenti a non caricare immagini troppo grandi perchè bloccano tutto...

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #274 il: 03 Agosto 2012, 12:06:57 »
REV 577
Ho riscontrato un errore di gestione del pannello laterale, precisamente nell'expander 'Tool'.
se apri contemporaneamente due progetti, com motori DB differenti, passando da un progetto all'altro, gli strumenti disponibili non sono aggiornati correttamente; gli strumenti specifici del SERVER spariscono.
Le foto allegate ti mostrano chiaramente la situazione.
Purtroppo non ho avuto il tempo di seguire il flusso del codice per verificare dove sorge il problema...ci darò un'occhio nel fine settimana.
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 #275 il: 03 Agosto 2012, 18:50:50 »
Probabilmente c'è qualche dimenticanza nell'aggiornamento. Stavo appunto facendo delle verifiche anche su altri casi similari.

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #276 il: 05 Agosto 2012, 15:59:07 »
Rev #578 Mi sembra risolto il problema dei tools.

L'apertura di un progetto esistente fallisce con l'errore NULL OBJECT alla linea 1428 di:
PgApplication._actionUpdate(); l'istruzione:
Codice: gambas [Seleziona]
Action[PgProjectManager.ACTION_PROJECT_CREATE_DOMAIN].Visible = project.Driver.IsValidObjectType(PgDataObjectType.Domain)

fallisce poichè la proprietà Driver di PgProject è NULL.
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 #277 il: 05 Agosto 2012, 23:36:08 »
Che vuol dire all'apertura di un progetto esistente? Caricato da file? Se è così, quella parte non è ancora completata. Ci stò lavorando sopra, e devo pure dirti che la struttura interna dei file l'ho cambiata.
Se fai test sulle funzioni di lettura/scrittura file progetto, tieni conto che sono ancora in fase evolutiva, per cui potre cambiarle, e anche di parecchio...  :-\

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #278 il: 10 Agosto 2012, 10:48:00 »
Ho quasi completato la parte lettura/scrittura file progetto. Sembra funzionare bene, ma non l'ho ancora provata con tutti gli oggetti...

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #279 il: 11 Agosto 2012, 18:32:33 »
Sto testando le procedure di scrittura / lettura del file di progetto.
In esso nella sezione Object utilizzi la seguente sintassi per definire le proprietà dei singoli oggetti:

...
<Property::Option>T</Property::Option>
...

ebbene questa sintassi provoca l'errore di 'Documento mal formattato' (non well-formed)
poichè il simbolo : nella sintassi xml indica un prefisso, utilizzato in associazione con un namespace
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 #280 il: 13 Agosto 2012, 19:12:54 »
Forse mi sono scappati i due punti... provvedo...  :ok:

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #281 il: 12 Settembre 2012, 21:38:47 »
Rev #627
Funzione Apri Progetto.
PgMysqlDriver.ImportXmlTable.3172:
Codice: gambas [Seleziona]
tableObject.Property["OnUpdate"].Value = xmlElement.AsString()

genera errore Null Object in quanto tenti di impostare il valore di una proprietà che non esiste.
Vedi figura allegata.
Ovviamente succede solo se esiste un oggetto table nel progetto. Ti allego anche il file di progetto.
« Ultima modifica: 12 Settembre 2012, 21:54:22 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 #282 il: 13 Settembre 2012, 18:47:46 »
Svista... cut&paste...  ;D

Ho corretto subito e messo nel repository.

Nota: Ho lavorato anche sulla stampa dei diagrammi, e parecchie altre cose (es. invio mail progetto e immagini). Comunque già lo noti dai menu abilitati...  :D

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #283 il: 13 Settembre 2012, 19:48:42 »
 :ok:
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 #284 il: 09 Ottobre 2012, 17:49:27 »
Ciao md9327,
oggi ho scaricato l'ultima revisione (#641) di pgDesigner2 per iniziare un nuovo progetto e al primo avvio il programma si è bloccato con l'errore Out of Bound alla linea:
Codice: gambas [Seleziona]
sFile = Split(aRecentList[nId], "|")[0]

nella sub pgApplication._recentMenuUpdate().
La causa è la linea:
Codice: gambas [Seleziona]
.AddItem(oGroup, pgClassStringArray(pgConfig.CFG_RECENTLIST, [""]))

in pgConfig.CreateDefaultConfiguration.
Il problema si manifesta solo se non esiste il file di configurazione, in questa condizione infatti, l'array aRecentList[0] conterrà il valore "" (stringa vuota); di conseguenza l'istruzione Split non può generare l'array.

Per ovviare all'inconveniente ti basta modificare come segue:
Codice: gambas [Seleziona]
.AddItem(oGroup, pgClassStringArray(pgConfig.CFG_RECENTLIST, ["|"]))


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