Fare girare lo stesso programma su SO. diversi, pur appartenenti allo stesso Universo Linux dovrebbe essere un vantaggio anche pubblicitario per un programma. Invece, per me, si sta dimostrando un vero e proprio dubbio amletico.
Dopo avere casualmente potuto allineare le versioni di Gambas su Ubuntu e su fedora alla 3.7.1, quando avvio il mio ContabFam, mi ritrovo la prima schermata dimensionata diversamente con ovvi fastidi estetici. Per farmi capire meglio ho allegato le due schermate. Mi ha preso la curiosità di guardare le dimensioni del desktop di Gambas nei due ambienti ed ecco i risultati:
Gambas-3.7.1(Ubuntu):
- Desktop.Width = '1301'
- Desktop.Height = '744'
Gambas-3.7.1(fedora):
- Desktop.Width = '1366'
- Desktop.Height = '7441
Premesso che il pc su cui ho avviato Ubuntu e fedora è sempre lo stesso, con lo stesso monitor, non capisco da che cosa possa dipendere tale differenza e non ho una precisa idea di come intervenire da programma per riallineare le non poche schermate nel mio programma.
Come risolvere tale problematica?
L'unica soluzione che vedo in questo momento è quella di definire io una sorta di desktop tipo a cui ridimensionare tuitte le Form del programma, nella procedura_new di ciacuna FormX.class, come nel seguente esempio:
Public Sub _new()
Dim DeskWidthFrm as integer = 1300
Dim DeskHeightFrm as integer = 740
Me.Width = DeskWidthFrm - 100
Me.Height = DeskHeightFrm - 50
--- bla --- bla ---
Panel1.width = Me.Width - 700
Panel1.Height = Me.Width - 600
--- bla --- bla ---
End
A meno che non vi possano altre migliori e più semplici soluzioni.