From t.lee.davidson at gmail.com Wed Apr 1 06:12:14 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 1 Apr 2020 00:12:14 -0400 Subject: [Gambas-user] array of object is SO needed In-Reply-To: <13d1b9df-3c0f-65a1-bee7-d47f7f070d62@tiscali.it> References: <4a324567-0d48-5bb1-9c46-8b6fe2cfcd4b@tiscali.it> <690eb0d3-d5b2-2389-7a72-e51930d23ba1@gmail.com> <13d1b9df-3c0f-65a1-bee7-d47f7f070d62@tiscali.it> Message-ID: <5e90dbcb-ee74-f312-dc00-062fe2b0cbbf@gmail.com> On 3/31/20 12:52 PM, roberto wrote: > > On 31/03/20 17:34, T Lee Davidson wrote: >> On 3/31/20 6:16 AM, roberto wrote: >>> At?my?eyes,?absence?of?object?arrays?is?the?worsest?weakness?of?gambas. >> >> http://gambaswiki.org/wiki/comp/gb/object[] >> >> > > thank! > > bad it is only in "code time" and not possible to do in "draw interface time" but is better than nothing. > > Question: how to interact with the single cell? i mean, if i want to (lets say) change the color of text red, green blue douleclick > > on the diffrent cell, where i have to write the relative code? for examble, i fan to click the cells different number of time to > > colo one in red, anohter in green, another in blue. is possible to do somethin like > > public sub object[1,2]_click() > > ?object[1,2].text="foo" > > end > > public sub object[1,2]_DoulbeClick() > > if object[1,2].tag="1" then > > ?object[1,2].background= green > > ? else > > ?object[1,2].background= red > > endif > > end > > > public sub object[3,5]_click() > > ?object[1,2].text="bar" > > end > > > and so on? > Well Label does not have a Click event. But you can use DblClick similar to the following: Public Sub Form_Open() Dim Squares As New Label[2] Squares[0] = New Label(FMain) As "Squares" Squares[0].x = 0 Squares[0].y = 0 Squares[0].Width = 50 Squares[0].Height = 28 Squares[0].Text = "Label1" Squares[0].Show Squares[1] = New Label(FMain) As "Squares" Squares[1].x = 0 Squares[1].y = 30 Squares[1].Width = 100 Squares[1].Height = 35 Squares[1].Text = "Label2" Squares[1].Show End Public Sub Squares_DblClick() Print Last.Width, Last.Height End -- Lee From adamnt42 at gmail.com Wed Apr 1 07:39:50 2020 From: adamnt42 at gmail.com (Bruce) Date: Wed, 1 Apr 2020 16:09:50 +1030 Subject: [Gambas-user] array of object is SO needed In-Reply-To: <5e90dbcb-ee74-f312-dc00-062fe2b0cbbf@gmail.com> References: <4a324567-0d48-5bb1-9c46-8b6fe2cfcd4b@tiscali.it> <690eb0d3-d5b2-2389-7a72-e51930d23ba1@gmail.com> <13d1b9df-3c0f-65a1-bee7-d47f7f070d62@tiscali.it> <5e90dbcb-ee74-f312-dc00-062fe2b0cbbf@gmail.com> Message-ID: On 1/4/20 2:42 pm, T Lee Davidson wrote: > > Well Label does not have a Click event. But you can use DblClick similar > to the following: > Also Label has MouseDown and MouseUp that can be used to fake a click. b From herberthguzman at gmail.com Wed Apr 1 20:46:07 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Wed, 1 Apr 2020 12:46:07 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits Message-ID: Greetings to all I write to you because I need help, a lot of help I have a project in which I want to make a desktop based on gambas3 I have many basic things but I must rewrite and write many things: panel (rewrite) launcher (rewrite) terminal calculator pictures viewer pdf viewer (new) control center (rewrite) file compressor (new) music player (new) video player (new) record mydesktop (new) system information (rewrite) process listing (new) dbus (new) others I lack a lot of knowledge to create a desktop but I've been trying to program it for years. I have some problems and if you can help me I would appreciate it because I feel that I can no longer follow. my system tray no longer works, it is not functional, I work well with gb-qt4 in 32 bits but with gb-qt5 64 bits it does not work and I need to rewrite one and this is where I ask for help. I also ask for help to improve the project but without system tray my project dies. Can anybody help me please all help received is welcome Herberth Guzman -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Apr 1 20:53:00 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 1 Apr 2020 20:53:00 +0200 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: Message-ID: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> Le 01/04/2020 ? 20:46, herberth guzman a ?crit?: > > my system tray no longer works, it is not functional, I work well with > gb-qt4 in 32 bits but with gb-qt5 64 bits it does not work and I need to > rewrite one and this is where I ask for help. > What does not work exactly? -- Beno?t Minisini From herberthguzman at gmail.com Wed Apr 1 21:05:57 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Wed, 1 Apr 2020 13:05:57 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> Message-ID: >>What does not work exactly? I have a classic system tray (x11) with ubuntu 32 bits and gb-qt4 it works fine for me with ubuntu 64 bit and gb-qt5 it doesn't work does not show anything in the system tray Error: qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" FMain.ArrangeTray.28: El mi?., 1 abr. 2020 a las 12:54, Beno?t Minisini () escribi?: > Le 01/04/2020 ? 20:46, herberth guzman a ?crit : > > > > my system tray no longer works, it is not functional, I work well with > > gb-qt4 in 32 bits but with gb-qt5 64 bits it does not work and I need to > > rewrite one and this is where I ask for help. > > > > What does not work exactly? > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Apr 1 21:12:58 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 1 Apr 2020 21:12:58 +0200 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> Message-ID: <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Le 01/04/2020 ? 21:05, herberth guzman a ?crit?: > >>>What does not work exactly? > > I have a classic system tray (x11) > with ubuntu 32 bits and gb-qt4 it works fine for me > > with ubuntu 64 bit and gb-qt5 it doesn't work > does not show anything in the system tray > > Error: > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" > FMain.ArrangeTray.28: > If you don't give more details, I can't help. Which system? Which desktop? How do you implement the system tray? Did you implement X11 protocol, DBus protocol, both? And so on... -- Beno?t Minisini From herberthguzman at gmail.com Wed Apr 1 21:21:05 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Wed, 1 Apr 2020 13:21:05 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: X11 Classic gb-qt5 BAD gb-qt4 OK Public Sub _new() Shell "vlc" Shell "nm-applet" End Public Sub Form_Open() X11Systray.Show(dwgSystemTray.Handle) End Static Public Sub X11Systray_Arrange() FMain.ArrangeTray End Public Sub ArrangeTray() Dim I As Integer Dim X, Y, H As Integer Debug X = 2 Y = 2 For I = 0 To X11Systray.Count - 1 With X11Systray[I] Debug I;; .IconW;; .IconH If (X + .IconW) >= (Me.ClientW - 2) Then X = 2 Y += H + 2 H = 0 Endif .Move(X, Y, .IconW, .IconH) H = Max(H, .IconH) X += .IconW + 2 End With Next End Public Sub Form_Resize() ArrangeTray End El mi?., 1 abr. 2020 a las 13:13, Beno?t Minisini () escribi?: > Le 01/04/2020 ? 21:05, herberth guzman a ?crit : > > > >>>What does not work exactly? > > > > I have a classic system tray (x11) > > with ubuntu 32 bits and gb-qt4 it works fine for me > > > > with ubuntu 64 bit and gb-qt5 it doesn't work > > does not show anything in the system tray > > > > Error: > > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" > > FMain.ArrangeTray.28: > > > > If you don't give more details, I can't help. Which system? Which > desktop? How do you implement the system tray? Did you implement X11 > protocol, DBus protocol, both? And so on... > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From herberthguzman at gmail.com Wed Apr 1 21:23:53 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Wed, 1 Apr 2020 13:23:53 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: New Systray Fabien helped me with this example but I'm still in trouble. Private $hTrayIcons As New TrayIcon[] Public Sub Form_Open() Dim a As String[] Dim s As String Dim sIcon As String Dim hTray As TrayIcon Dim vIconPixmap As Variant Dim i As Integer Dim ii As Integer Dim hbut As New Button(Me) DBus.Debug = True a = DBus["org.kde.StatusNotifierWatcher"]["/StatusNotifierWatcher", "org.kde.StatusNotifierWatcher"].RegisteredStatusNotifierItems For Each s In a 'sIcon = DBus[File.Dir(s)]["/" & File.Name(s), "org.kde.StatusNotifierItem"].IconThemePath hTray = New TrayIcon hTray.Name = s hbut.Text = s 'Print DBus[File.Dir(s)]["/" & File.Name(s), "org.kde.StatusNotifierItem"].OverlayIconName sIcon = DBus[File.Dir(s)]["/" & File.Name(s), "org.kde.StatusNotifierItem"].IconName hTray.IconName = sIcon ' Print sIcon ' Print hTray.IconName vIconPixmap = DBus[File.Dir(s)]["/" & File.Name(s), "org.kde.StatusNotifierItem"].IconPixmap If vIconPixmap Then Try hTray.Icon = GetPictureFromAVariant(vIconPixmap) Endif $hTrayIcons.Add(hTray) For ii = 0 To $hTrayIcons.Max hbut.H = 48 hbut.w = 48 hbut.Picture = $hTrayIcons[i].GetIcon(32) Next ' Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) Next DrawingArea1.Refresh 'Me.Picture = hDBusPixmap.GetPicture() End Private Sub GetPictureFromAVariant(hValue As Variant[]) As Picture Dim H, W As Integer Dim hData As Byte[] Dim hFile As File Dim hPic As Image W = hValue[0][0] H = hValue[0][1] hData = hValue[0][2] hPic = New Image(W, H, Color.Transparent) hPic.Format = "ARGB" hFile = Memory hPic.Data For Write hData.Write(hFile) hFile.Close Return hPic.picture End Public Sub DrawingArea1_Draw() Dim i As Integer For i = 0 To $hTrayIcons.Max Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) Next End [System] Gambas=3.14.90 0714bf7 (master) OperatingSystem=Linux Kernel=5.4.0-18-generic Architecture=x86_64 Distribution=Ubuntu Focal Fossa (development branch) Desktop=INNOVA Theme=Fusion Language=es_GT.UTF-8 Memory=3735M [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.6.0 DBus=libdbus-1.so.3.19.11 GStreamer=libgstreamer-1.0.so.0.1602.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2404.10 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.95.0.0 Poppler=libpoppler.so.97.0.0 QT5=libQt5Core.so.5.12.5 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] CLUTTER_IM_MODULE=ibus DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=Innova DISPLAY=:0 GB_GUI=gb.qt5 GDMSESSION=Innova GNOME_DESKTOP_SESSION_ID=this-is-deprecated GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_IM_MODULE=ibus GTK_MODULES=gail:atk-bridge HOME= LANG=es_GT.UTF-8 LANGUAGE=es_GT.UTF-8 LOGNAME= PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT4_IM_MODULE=ibus QT_ACCESSIBILITY=1 QT_IM_MODULE=ibus QT_LOGGING_RULES=*.debug=false SESSION_MANAGER=local/:@/tmp/.ICE-unix/1740,unix/:/tmp/.ICE-unix/1740 SHELL=/bin/bash SHLVL=1 SSH_AGENT_PID=1692 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= USERNAME= WINDOWPATH=2 XAUTHORITY=/run/user/1000/gdm/Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg/xdg-Innova:/etc/xdg XDG_CONFIG_HOME=/.config XDG_CURRENT_DESKTOP=Innova XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu-xdg/ XDG_MENU_PREFIX=innova- XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=Innova XDG_SESSION_ID=10 XDG_SESSION_TYPE=x11 XDG_VTNR=2 XMODIFIERS=@im=ibus El mi?., 1 abr. 2020 a las 13:21, herberth guzman () escribi?: > X11 Classic > gb-qt5 BAD > gb-qt4 OK > > Public Sub _new() > > Shell "vlc" > Shell "nm-applet" > > End > > Public Sub Form_Open() > > X11Systray.Show(dwgSystemTray.Handle) > > End > > Static Public Sub X11Systray_Arrange() > > FMain.ArrangeTray > > End > > Public Sub ArrangeTray() > > Dim I As Integer > Dim X, Y, H As Integer > > Debug > X = 2 > Y = 2 > For I = 0 To X11Systray.Count - 1 > With X11Systray[I] > Debug I;; .IconW;; .IconH > If (X + .IconW) >= (Me.ClientW - 2) Then > X = 2 > Y += H + 2 > H = 0 > Endif > .Move(X, Y, .IconW, .IconH) > H = Max(H, .IconH) > X += .IconW + 2 > End With > Next > > End > > Public Sub Form_Resize() > > ArrangeTray > > End > > > > > > > El mi?., 1 abr. 2020 a las 13:13, Beno?t Minisini () > escribi?: > >> Le 01/04/2020 ? 21:05, herberth guzman a ?crit : >> > >> >>>What does not work exactly? >> > >> > I have a classic system tray (x11) >> > with ubuntu 32 bits and gb-qt4 it works fine for me >> > >> > with ubuntu 64 bit and gb-qt5 it doesn't work >> > does not show anything in the system tray >> > >> > Error: >> > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" >> > FMain.ArrangeTray.28: >> > >> >> If you don't give more details, I can't help. Which system? Which >> desktop? How do you implement the system tray? Did you implement X11 >> protocol, DBus protocol, both? And so on... >> >> -- >> Beno?t Minisini >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From herberthguzman at gmail.com Wed Apr 1 21:24:56 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Wed, 1 Apr 2020 13:24:56 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: El mi?., 1 abr. 2020 a las 13:23, herberth guzman () escribi?: > New Systray > Fabien helped me with this example > but I'm still in trouble. > > Private $hTrayIcons As New TrayIcon[] > > Public Sub Form_Open() > > Dim a As String[] > Dim s As String > Dim sIcon As String > Dim hTray As TrayIcon > Dim vIconPixmap As Variant > Dim i As Integer > Dim ii As Integer > Dim hbut As New Button(Me) > DBus.Debug = True > > a = DBus["org.kde.StatusNotifierWatcher"]["/StatusNotifierWatcher", > "org.kde.StatusNotifierWatcher"].RegisteredStatusNotifierItems > > For Each s In a > > 'sIcon = DBus[File.Dir(s)]["/" & File.Name(s), > "org.kde.StatusNotifierItem"].IconThemePath > hTray = New TrayIcon > hTray.Name = s > hbut.Text = s > 'Print DBus[File.Dir(s)]["/" & File.Name(s), > "org.kde.StatusNotifierItem"].OverlayIconName > sIcon = DBus[File.Dir(s)]["/" & File.Name(s), > "org.kde.StatusNotifierItem"].IconName > hTray.IconName = sIcon > > ' Print sIcon > ' Print hTray.IconName > vIconPixmap = DBus[File.Dir(s)]["/" & File.Name(s), > "org.kde.StatusNotifierItem"].IconPixmap > If vIconPixmap Then > Try hTray.Icon = GetPictureFromAVariant(vIconPixmap) > Endif > > $hTrayIcons.Add(hTray) > > For ii = 0 To $hTrayIcons.Max > hbut.H = 48 > hbut.w = 48 > hbut.Picture = $hTrayIcons[i].GetIcon(32) > > Next > ' Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) > > > Next > > DrawingArea1.Refresh > > 'Me.Picture = hDBusPixmap.GetPicture() > End > > Private Sub GetPictureFromAVariant(hValue As Variant[]) As Picture > > Dim H, W As Integer > Dim hData As Byte[] > Dim hFile As File > Dim hPic As Image > > W = hValue[0][0] > H = hValue[0][1] > hData = hValue[0][2] > > hPic = New Image(W, H, Color.Transparent) > hPic.Format = "ARGB" > hFile = Memory hPic.Data For Write > hData.Write(hFile) > hFile.Close > Return hPic.picture > > End > > Public Sub DrawingArea1_Draw() > > Dim i As Integer > > For i = 0 To $hTrayIcons.Max > Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) > Next > > End > > [System] > Gambas=3.14.90 0714bf7 (master) > OperatingSystem=Linux > Kernel=5.4.0-18-generic > Architecture=x86_64 > Distribution=Ubuntu Focal Fossa (development branch) > Desktop=INNOVA > Theme=Fusion > Language=es_GT.UTF-8 > Memory=3735M > > [Libraries] > Cairo=libcairo.so.2.11600.0 > Curl=libcurl.so.4.6.0 > DBus=libdbus-1.so.3.19.11 > GStreamer=libgstreamer-1.0.so.0.1602.0 > GTK+2=libgtk-x11-2.0.so.0.2400.32 > GTK+3=libgtk-3.so.0.2404.10 > OpenGL=libGL.so.1.7.0 > Poppler=libpoppler.so.95.0.0 > Poppler=libpoppler.so.97.0.0 > QT5=libQt5Core.so.5.12.5 > SDL=libSDL-1.2.so.0.11.4 > SQLite=libsqlite3.so.0.8.6 > > [Environment] > CLUTTER_IM_MODULE=ibus > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > DESKTOP_SESSION=Innova > DISPLAY=:0 > GB_GUI=gb.qt5 > GDMSESSION=Innova > GNOME_DESKTOP_SESSION_ID=this-is-deprecated > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > GTK_IM_MODULE=ibus > GTK_MODULES=gail:atk-bridge > HOME= > LANG=es_GT.UTF-8 > LANGUAGE=es_GT.UTF-8 > LOGNAME= > > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin > PWD= > QT4_IM_MODULE=ibus > QT_ACCESSIBILITY=1 > QT_IM_MODULE=ibus > QT_LOGGING_RULES=*.debug=false > > SESSION_MANAGER=local/:@/tmp/.ICE-unix/1740,unix/:/tmp/.ICE-unix/1740 > SHELL=/bin/bash > SHLVL=1 > SSH_AGENT_PID=1692 > SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > TZ=:/etc/localtime > USER= > USERNAME= > WINDOWPATH=2 > XAUTHORITY=/run/user/1000/gdm/Xauthority > XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg/xdg-Innova:/etc/xdg > XDG_CONFIG_HOME=/.config > XDG_CURRENT_DESKTOP=Innova > > XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu-xdg/ > XDG_MENU_PREFIX=innova- > XDG_RUNTIME_DIR=/run/user/1000 > XDG_SEAT=seat0 > XDG_SESSION_CLASS=user > XDG_SESSION_DESKTOP=Innova > XDG_SESSION_ID=10 > XDG_SESSION_TYPE=x11 > XDG_VTNR=2 > XMODIFIERS=@im=ibus > > El mi?., 1 abr. 2020 a las 13:21, herberth guzman (< > herberthguzman at gmail.com>) escribi?: > >> X11 Classic >> gb-qt5 BAD >> gb-qt4 OK >> >> Public Sub _new() >> >> Shell "vlc" >> Shell "nm-applet" >> >> End >> >> Public Sub Form_Open() >> >> X11Systray.Show(dwgSystemTray.Handle) >> >> End >> >> Static Public Sub X11Systray_Arrange() >> >> FMain.ArrangeTray >> >> End >> >> Public Sub ArrangeTray() >> >> Dim I As Integer >> Dim X, Y, H As Integer >> >> Debug >> X = 2 >> Y = 2 >> For I = 0 To X11Systray.Count - 1 >> With X11Systray[I] >> Debug I;; .IconW;; .IconH >> If (X + .IconW) >= (Me.ClientW - 2) Then >> X = 2 >> Y += H + 2 >> H = 0 >> Endif >> .Move(X, Y, .IconW, .IconH) >> H = Max(H, .IconH) >> X += .IconW + 2 >> End With >> Next >> >> End >> >> Public Sub Form_Resize() >> >> ArrangeTray >> >> End >> >> >> >> >> >> >> El mi?., 1 abr. 2020 a las 13:13, Beno?t Minisini () >> escribi?: >> >>> Le 01/04/2020 ? 21:05, herberth guzman a ?crit : >>> > >>> >>>What does not work exactly? >>> > >>> > I have a classic system tray (x11) >>> > with ubuntu 32 bits and gb-qt4 it works fine for me >>> > >>> > with ubuntu 64 bit and gb-qt5 it doesn't work >>> > does not show anything in the system tray >>> > >>> > Error: >>> > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" >>> > FMain.ArrangeTray.28: >>> > >>> >>> If you don't give more details, I can't help. Which system? Which >>> desktop? How do you implement the system tray? Did you implement X11 >>> protocol, DBus protocol, both? And so on... >>> >>> -- >>> Beno?t Minisini >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: NotificationArea-0.0.2.tar.gz Type: application/gzip Size: 12586 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: SystemTray-1.0.tar.gz Type: application/gzip Size: 24223 bytes Desc: not available URL: From herberthguzman at gmail.com Wed Apr 1 21:29:33 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Wed, 1 Apr 2020 13:29:33 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: but there's no desktop! i mean we want to create a new systray area! how to do? > XDG_CURRENT_DESKTOP environment variable. > set to a custom openbox in my case! no panel or systray area was starte i want to start by myselft! El mi?., 1 abr. 2020 a las 13:24, herberth guzman () escribi?: > > > El mi?., 1 abr. 2020 a las 13:23, herberth guzman (< > herberthguzman at gmail.com>) escribi?: > >> New Systray >> Fabien helped me with this example >> but I'm still in trouble. >> >> Private $hTrayIcons As New TrayIcon[] >> >> Public Sub Form_Open() >> >> Dim a As String[] >> Dim s As String >> Dim sIcon As String >> Dim hTray As TrayIcon >> Dim vIconPixmap As Variant >> Dim i As Integer >> Dim ii As Integer >> Dim hbut As New Button(Me) >> DBus.Debug = True >> >> a = DBus["org.kde.StatusNotifierWatcher"]["/StatusNotifierWatcher", >> "org.kde.StatusNotifierWatcher"].RegisteredStatusNotifierItems >> >> For Each s In a >> >> 'sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >> "org.kde.StatusNotifierItem"].IconThemePath >> hTray = New TrayIcon >> hTray.Name = s >> hbut.Text = s >> 'Print DBus[File.Dir(s)]["/" & File.Name(s), >> "org.kde.StatusNotifierItem"].OverlayIconName >> sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >> "org.kde.StatusNotifierItem"].IconName >> hTray.IconName = sIcon >> >> ' Print sIcon >> ' Print hTray.IconName >> vIconPixmap = DBus[File.Dir(s)]["/" & File.Name(s), >> "org.kde.StatusNotifierItem"].IconPixmap >> If vIconPixmap Then >> Try hTray.Icon = GetPictureFromAVariant(vIconPixmap) >> Endif >> >> $hTrayIcons.Add(hTray) >> >> For ii = 0 To $hTrayIcons.Max >> hbut.H = 48 >> hbut.w = 48 >> hbut.Picture = $hTrayIcons[i].GetIcon(32) >> >> Next >> ' Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >> >> >> Next >> >> DrawingArea1.Refresh >> >> 'Me.Picture = hDBusPixmap.GetPicture() >> End >> >> Private Sub GetPictureFromAVariant(hValue As Variant[]) As Picture >> >> Dim H, W As Integer >> Dim hData As Byte[] >> Dim hFile As File >> Dim hPic As Image >> >> W = hValue[0][0] >> H = hValue[0][1] >> hData = hValue[0][2] >> >> hPic = New Image(W, H, Color.Transparent) >> hPic.Format = "ARGB" >> hFile = Memory hPic.Data For Write >> hData.Write(hFile) >> hFile.Close >> Return hPic.picture >> >> End >> >> Public Sub DrawingArea1_Draw() >> >> Dim i As Integer >> >> For i = 0 To $hTrayIcons.Max >> Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >> Next >> >> End >> >> [System] >> Gambas=3.14.90 0714bf7 (master) >> OperatingSystem=Linux >> Kernel=5.4.0-18-generic >> Architecture=x86_64 >> Distribution=Ubuntu Focal Fossa (development branch) >> Desktop=INNOVA >> Theme=Fusion >> Language=es_GT.UTF-8 >> Memory=3735M >> >> [Libraries] >> Cairo=libcairo.so.2.11600.0 >> Curl=libcurl.so.4.6.0 >> DBus=libdbus-1.so.3.19.11 >> GStreamer=libgstreamer-1.0.so.0.1602.0 >> GTK+2=libgtk-x11-2.0.so.0.2400.32 >> GTK+3=libgtk-3.so.0.2404.10 >> OpenGL=libGL.so.1.7.0 >> Poppler=libpoppler.so.95.0.0 >> Poppler=libpoppler.so.97.0.0 >> QT5=libQt5Core.so.5.12.5 >> SDL=libSDL-1.2.so.0.11.4 >> SQLite=libsqlite3.so.0.8.6 >> >> [Environment] >> CLUTTER_IM_MODULE=ibus >> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus >> DESKTOP_SESSION=Innova >> DISPLAY=:0 >> GB_GUI=gb.qt5 >> GDMSESSION=Innova >> GNOME_DESKTOP_SESSION_ID=this-is-deprecated >> GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 >> GTK_IM_MODULE=ibus >> GTK_MODULES=gail:atk-bridge >> HOME= >> LANG=es_GT.UTF-8 >> LANGUAGE=es_GT.UTF-8 >> LOGNAME= >> >> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin >> PWD= >> QT4_IM_MODULE=ibus >> QT_ACCESSIBILITY=1 >> QT_IM_MODULE=ibus >> QT_LOGGING_RULES=*.debug=false >> >> SESSION_MANAGER=local/:@/tmp/.ICE-unix/1740,unix/:/tmp/.ICE-unix/1740 >> SHELL=/bin/bash >> SHLVL=1 >> SSH_AGENT_PID=1692 >> SSH_AUTH_SOCK=/run/user/1000/keyring/ssh >> TZ=:/etc/localtime >> USER= >> USERNAME= >> WINDOWPATH=2 >> XAUTHORITY=/run/user/1000/gdm/Xauthority >> XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg/xdg-Innova:/etc/xdg >> XDG_CONFIG_HOME=/.config >> XDG_CURRENT_DESKTOP=Innova >> >> XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu-xdg/ >> XDG_MENU_PREFIX=innova- >> XDG_RUNTIME_DIR=/run/user/1000 >> XDG_SEAT=seat0 >> XDG_SESSION_CLASS=user >> XDG_SESSION_DESKTOP=Innova >> XDG_SESSION_ID=10 >> XDG_SESSION_TYPE=x11 >> XDG_VTNR=2 >> XMODIFIERS=@im=ibus >> >> El mi?., 1 abr. 2020 a las 13:21, herberth guzman (< >> herberthguzman at gmail.com>) escribi?: >> >>> X11 Classic >>> gb-qt5 BAD >>> gb-qt4 OK >>> >>> Public Sub _new() >>> >>> Shell "vlc" >>> Shell "nm-applet" >>> >>> End >>> >>> Public Sub Form_Open() >>> >>> X11Systray.Show(dwgSystemTray.Handle) >>> >>> End >>> >>> Static Public Sub X11Systray_Arrange() >>> >>> FMain.ArrangeTray >>> >>> End >>> >>> Public Sub ArrangeTray() >>> >>> Dim I As Integer >>> Dim X, Y, H As Integer >>> >>> Debug >>> X = 2 >>> Y = 2 >>> For I = 0 To X11Systray.Count - 1 >>> With X11Systray[I] >>> Debug I;; .IconW;; .IconH >>> If (X + .IconW) >= (Me.ClientW - 2) Then >>> X = 2 >>> Y += H + 2 >>> H = 0 >>> Endif >>> .Move(X, Y, .IconW, .IconH) >>> H = Max(H, .IconH) >>> X += .IconW + 2 >>> End With >>> Next >>> >>> End >>> >>> Public Sub Form_Resize() >>> >>> ArrangeTray >>> >>> End >>> >>> >>> >>> >>> >>> >>> El mi?., 1 abr. 2020 a las 13:13, Beno?t Minisini () >>> escribi?: >>> >>>> Le 01/04/2020 ? 21:05, herberth guzman a ?crit : >>>> > >>>> >>>What does not work exactly? >>>> > >>>> > I have a classic system tray (x11) >>>> > with ubuntu 32 bits and gb-qt4 it works fine for me >>>> > >>>> > with ubuntu 64 bit and gb-qt5 it doesn't work >>>> > does not show anything in the system tray >>>> > >>>> > Error: >>>> > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" >>>> > FMain.ArrangeTray.28: >>>> > >>>> >>>> If you don't give more details, I can't help. Which system? Which >>>> desktop? How do you implement the system tray? Did you implement X11 >>>> protocol, DBus protocol, both? And so on... >>>> >>>> -- >>>> Beno?t Minisini >>>> >>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>>> >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Thu Apr 2 15:10:24 2020 From: roberto.premoli at tiscali.it (roberto) Date: Thu, 2 Apr 2020 15:10:24 +0200 Subject: [Gambas-user] TextLabel vs Label Message-ID: <8efe06cc-ea52-1027-a6f2-d75df6686e08@tiscali.it> Hello, i use indifferently both of them to show text to end user (feedback about results of calculation and so on) but currently, what are the main differences? At the moment, I think Label is just a "subset" of TextLabel, i mean, label has less features than TextLabel... correct? In other words: what can I do with TextLabel that I cannot do with Label? Thanks From olivier.cruilles at yahoo.fr Thu Apr 2 15:29:19 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Thu, 2 Apr 2020 09:29:19 -0400 Subject: [Gambas-user] TextLabel vs Label In-Reply-To: <8efe06cc-ea52-1027-a6f2-d75df6686e08@tiscali.it> References: <8efe06cc-ea52-1027-a6f2-d75df6686e08@tiscali.it> Message-ID: Hello, In fact not really, if I remember well, Label is just Text does not accept simplified HTML tag and it can not be selected by mouse (for a Copy/Paste) whereas TextLabel is selectable by mouse and accept some simple HTML tag (like ? ) Maybe my memory is wrong... Olivier Le 2 avril 2020 ? 09:11:06, roberto (roberto.premoli at tiscali.it) a ?crit: Hello, i use indifferently both of them to show text to end user (feedback about results of calculation and so on) but currently, what are the main differences? At the moment, I think Label is just a "subset" of TextLabel, i mean, label has less features than TextLabel... correct? In other words: what can I do with TextLabel that I cannot do with Label? Thanks ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Thu Apr 2 16:01:17 2020 From: roberto.premoli at tiscali.it (roberto) Date: Thu, 2 Apr 2020 16:01:17 +0200 Subject: [Gambas-user] "=" versus "==" in IF statement Message-ID: <689fc7cc-3772-51d4-d305-ec5a48740b55@tiscali.it> Hello, when I do a IF statement IF A = 1 then ? B=2 EndIf it give me the same result of IF A == 1 then ? B=2 EndIf From C language, i know that "==" is for TEST of value and "=" is for ASSIGNEMENT of value Does GAMBAS accept both "=" and "==" in case of IF statement? From olivier.cruilles at yahoo.fr Thu Apr 2 16:14:54 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Thu, 2 Apr 2020 10:14:54 -0400 Subject: [Gambas-user] =?utf-8?Q?=22=3D=22_?=versus =?utf-8?Q?=22=3D=3D=22_?=in IF statement In-Reply-To: <689fc7cc-3772-51d4-d305-ec5a48740b55@tiscali.it> References: <689fc7cc-3772-51d4-d305-ec5a48740b55@tiscali.it> Message-ID: Hello, I think only A = 1 is available in Gambas for test but assignment using ?==? exist for strings Take a look here:?http://gambaswiki.org/wiki/lang/stringop Olivier Le 2 avril 2020 ? 10:02:04, roberto (roberto.premoli at tiscali.it) a ?crit: Hello, when I do a IF statement IF A = 1 then ? B=2 EndIf it give me the same result of IF A == 1 then ? B=2 EndIf From C language, i know that "==" is for TEST of value and "=" is for ASSIGNEMENT of value Does GAMBAS accept both "=" and "==" in case of IF statement? ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Apr 2 17:50:20 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 2 Apr 2020 11:50:20 -0400 Subject: [Gambas-user] "=" versus "==" in IF statement In-Reply-To: References: <689fc7cc-3772-51d4-d305-ec5a48740b55@tiscali.it> Message-ID: <5b7ed725-9aea-8ece-a604-075a17883b86@gmail.com> On 4/2/20 10:14 AM, Yahoo via User wrote: > Hello, > > I think only A = 1 is available in Gambas for test > but assignment using ?==? exist for strings > > Take a look here:?http://gambaswiki.org/wiki/lang/stringop > > > Olivier Actually '==' is not an assignment. It is a case-insensitive test: Print "Gambas is Great" = "gambas is great" ' Prints False Print "Gambas is Great" == "gambas is great" ' Prints True The '=' operator is used for both assignment and testing depending on the context. This means that you cannot do an assignment (even in parentheses) within the conditional part of a test statement such as IF, WHILE, and UNTIL. -- Lee From herberthguzman at gmail.com Thu Apr 2 20:11:35 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Thu, 2 Apr 2020 12:11:35 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: I honestly have no idea how to make a new system tray. I need help please. I need help creating a new system tray that supports 64-bit gb-qt5. El mi?., 1 abr. 2020 1:29 p. m., herberth guzman escribi?: > but there's no desktop! i mean we want to create a new systray area! how > to do? > > > >> XDG_CURRENT_DESKTOP environment variable. >> > set to a custom openbox in my case! no panel or systray area was starte i > want to start by myselft! > > El mi?., 1 abr. 2020 a las 13:24, herberth guzman (< > herberthguzman at gmail.com>) escribi?: > >> >> >> El mi?., 1 abr. 2020 a las 13:23, herberth guzman (< >> herberthguzman at gmail.com>) escribi?: >> >>> New Systray >>> Fabien helped me with this example >>> but I'm still in trouble. >>> >>> Private $hTrayIcons As New TrayIcon[] >>> >>> Public Sub Form_Open() >>> >>> Dim a As String[] >>> Dim s As String >>> Dim sIcon As String >>> Dim hTray As TrayIcon >>> Dim vIconPixmap As Variant >>> Dim i As Integer >>> Dim ii As Integer >>> Dim hbut As New Button(Me) >>> DBus.Debug = True >>> >>> a = DBus["org.kde.StatusNotifierWatcher"]["/StatusNotifierWatcher", >>> "org.kde.StatusNotifierWatcher"].RegisteredStatusNotifierItems >>> >>> For Each s In a >>> >>> 'sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >>> "org.kde.StatusNotifierItem"].IconThemePath >>> hTray = New TrayIcon >>> hTray.Name = s >>> hbut.Text = s >>> 'Print DBus[File.Dir(s)]["/" & File.Name(s), >>> "org.kde.StatusNotifierItem"].OverlayIconName >>> sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >>> "org.kde.StatusNotifierItem"].IconName >>> hTray.IconName = sIcon >>> >>> ' Print sIcon >>> ' Print hTray.IconName >>> vIconPixmap = DBus[File.Dir(s)]["/" & File.Name(s), >>> "org.kde.StatusNotifierItem"].IconPixmap >>> If vIconPixmap Then >>> Try hTray.Icon = GetPictureFromAVariant(vIconPixmap) >>> Endif >>> >>> $hTrayIcons.Add(hTray) >>> >>> For ii = 0 To $hTrayIcons.Max >>> hbut.H = 48 >>> hbut.w = 48 >>> hbut.Picture = $hTrayIcons[i].GetIcon(32) >>> >>> Next >>> ' Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >>> >>> >>> Next >>> >>> DrawingArea1.Refresh >>> >>> 'Me.Picture = hDBusPixmap.GetPicture() >>> End >>> >>> Private Sub GetPictureFromAVariant(hValue As Variant[]) As Picture >>> >>> Dim H, W As Integer >>> Dim hData As Byte[] >>> Dim hFile As File >>> Dim hPic As Image >>> >>> W = hValue[0][0] >>> H = hValue[0][1] >>> hData = hValue[0][2] >>> >>> hPic = New Image(W, H, Color.Transparent) >>> hPic.Format = "ARGB" >>> hFile = Memory hPic.Data For Write >>> hData.Write(hFile) >>> hFile.Close >>> Return hPic.picture >>> >>> End >>> >>> Public Sub DrawingArea1_Draw() >>> >>> Dim i As Integer >>> >>> For i = 0 To $hTrayIcons.Max >>> Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >>> Next >>> >>> End >>> >>> [System] >>> Gambas=3.14.90 0714bf7 (master) >>> OperatingSystem=Linux >>> Kernel=5.4.0-18-generic >>> Architecture=x86_64 >>> Distribution=Ubuntu Focal Fossa (development branch) >>> Desktop=INNOVA >>> Theme=Fusion >>> Language=es_GT.UTF-8 >>> Memory=3735M >>> >>> [Libraries] >>> Cairo=libcairo.so.2.11600.0 >>> Curl=libcurl.so.4.6.0 >>> DBus=libdbus-1.so.3.19.11 >>> GStreamer=libgstreamer-1.0.so.0.1602.0 >>> GTK+2=libgtk-x11-2.0.so.0.2400.32 >>> GTK+3=libgtk-3.so.0.2404.10 >>> OpenGL=libGL.so.1.7.0 >>> Poppler=libpoppler.so.95.0.0 >>> Poppler=libpoppler.so.97.0.0 >>> QT5=libQt5Core.so.5.12.5 >>> SDL=libSDL-1.2.so.0.11.4 >>> SQLite=libsqlite3.so.0.8.6 >>> >>> [Environment] >>> CLUTTER_IM_MODULE=ibus >>> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus >>> DESKTOP_SESSION=Innova >>> DISPLAY=:0 >>> GB_GUI=gb.qt5 >>> GDMSESSION=Innova >>> GNOME_DESKTOP_SESSION_ID=this-is-deprecated >>> GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 >>> GTK_IM_MODULE=ibus >>> GTK_MODULES=gail:atk-bridge >>> HOME= >>> LANG=es_GT.UTF-8 >>> LANGUAGE=es_GT.UTF-8 >>> LOGNAME= >>> >>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin >>> PWD= >>> QT4_IM_MODULE=ibus >>> QT_ACCESSIBILITY=1 >>> QT_IM_MODULE=ibus >>> QT_LOGGING_RULES=*.debug=false >>> >>> SESSION_MANAGER=local/:@/tmp/.ICE-unix/1740,unix/:/tmp/.ICE-unix/1740 >>> SHELL=/bin/bash >>> SHLVL=1 >>> SSH_AGENT_PID=1692 >>> SSH_AUTH_SOCK=/run/user/1000/keyring/ssh >>> TZ=:/etc/localtime >>> USER= >>> USERNAME= >>> WINDOWPATH=2 >>> XAUTHORITY=/run/user/1000/gdm/Xauthority >>> XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg/xdg-Innova:/etc/xdg >>> XDG_CONFIG_HOME=/.config >>> XDG_CURRENT_DESKTOP=Innova >>> >>> XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu-xdg/ >>> XDG_MENU_PREFIX=innova- >>> XDG_RUNTIME_DIR=/run/user/1000 >>> XDG_SEAT=seat0 >>> XDG_SESSION_CLASS=user >>> XDG_SESSION_DESKTOP=Innova >>> XDG_SESSION_ID=10 >>> XDG_SESSION_TYPE=x11 >>> XDG_VTNR=2 >>> XMODIFIERS=@im=ibus >>> >>> El mi?., 1 abr. 2020 a las 13:21, herberth guzman (< >>> herberthguzman at gmail.com>) escribi?: >>> >>>> X11 Classic >>>> gb-qt5 BAD >>>> gb-qt4 OK >>>> >>>> Public Sub _new() >>>> >>>> Shell "vlc" >>>> Shell "nm-applet" >>>> >>>> End >>>> >>>> Public Sub Form_Open() >>>> >>>> X11Systray.Show(dwgSystemTray.Handle) >>>> >>>> End >>>> >>>> Static Public Sub X11Systray_Arrange() >>>> >>>> FMain.ArrangeTray >>>> >>>> End >>>> >>>> Public Sub ArrangeTray() >>>> >>>> Dim I As Integer >>>> Dim X, Y, H As Integer >>>> >>>> Debug >>>> X = 2 >>>> Y = 2 >>>> For I = 0 To X11Systray.Count - 1 >>>> With X11Systray[I] >>>> Debug I;; .IconW;; .IconH >>>> If (X + .IconW) >= (Me.ClientW - 2) Then >>>> X = 2 >>>> Y += H + 2 >>>> H = 0 >>>> Endif >>>> .Move(X, Y, .IconW, .IconH) >>>> H = Max(H, .IconH) >>>> X += .IconW + 2 >>>> End With >>>> Next >>>> >>>> End >>>> >>>> Public Sub Form_Resize() >>>> >>>> ArrangeTray >>>> >>>> End >>>> >>>> >>>> >>>> >>>> >>>> >>>> El mi?., 1 abr. 2020 a las 13:13, Beno?t Minisini () >>>> escribi?: >>>> >>>>> Le 01/04/2020 ? 21:05, herberth guzman a ?crit : >>>>> > >>>>> >>>What does not work exactly? >>>>> > >>>>> > I have a classic system tray (x11) >>>>> > with ubuntu 32 bits and gb-qt4 it works fine for me >>>>> > >>>>> > with ubuntu 64 bit and gb-qt5 it doesn't work >>>>> > does not show anything in the system tray >>>>> > >>>>> > Error: >>>>> > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" >>>>> > FMain.ArrangeTray.28: >>>>> > >>>>> >>>>> If you don't give more details, I can't help. Which system? Which >>>>> desktop? How do you implement the system tray? Did you implement X11 >>>>> protocol, DBus protocol, both? And so on... >>>>> >>>>> -- >>>>> Beno?t Minisini >>>>> >>>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>>>> >>>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Fri Apr 3 01:30:01 2020 From: taboege at gmail.com (Tobias Boege) Date: Fri, 3 Apr 2020 01:30:01 +0200 Subject: [Gambas-user] Coming back to gb.test Message-ID: <20200402233001.GL3605349@highrise.localdomain> Hi Christof, Beno?t and whoever cares about testing, sorry for the absence while the gb.test situation is broken. I've always been a single-tasker and slow to context-switch and even moreso since late 2018 (Meltdown?) and working from home now just makes it worse. Christof has reminded me what the critical points are: On Thu, 02 Apr 2020, Christof Thalhofer wrote: > ---------------------------------------------------------------- > 1) Assert is now in gb.test.tap and not in gb.test. But this makes no > sense because asserts must not be associated to the output format. In > addition the flow of testing and assertions cannot be debugged inside > gb.test any more. > I agree with this. gb.test must contain the Assert module which provides "high-level" assertions like comparing strings and printing diagnostics when the test fails ("expected this string but got that string"). But gb.test.tap should still export a *minimal* Assert module that just contains Ok, Diag, BailOut, Todo, Skip and Subtest functionality. gb.test builds its assertions on top of these primitives by extending the Assert module. This allows TAP to be switched out for another format as long as the other format's Assert module provides the above primitives. I think Beno?t also suggested something along those lines, so we agree. D'accord? > 2) gb.test.tap does not output TAP line by line (+/- summary) as it was > before. This is necessary if something in the test system itself breaks > so that the last state can be seen. > This would be a bug. TapPrinter uses the Print instruction followed by a Flush, so every line of output should be immediately visible. An exception used to be gb.test's self-tests, those had to be buffered inside the process producing the TAP to summarize them. I think I changed that by adding a RawTap option, but I'm seeing the problem you describe, the output is indeed not showing. So yes, I acknowledge that bug and it needs to be fixed. I think I knew last month what was causing it... > 3) TestFailures.test is broken and does not run any more. It was > necessary to ensure that crashes and failures were handled and reported > well by gb.test. > ---------------------------------------------------------------- More specifically: On Tue, 10 Mar 2020, Christof Thalhofer wrote: > In gb.test TestFailures.test has 11 Asserts that have to report "not ok". > On this I'm sceptical. This might be a good occasion to share here a doodle of a more elaborate flowchart [1] of testing than the one Christof has posted earlier [2]. I hope it is understandable; it is more detailed and specifies the process boundary and what the concerns of the components are. Notice, in comparison with [2], that gb.test.tap is used in two places in [1]: once on the producer's end and once on the analyzer's end. gb.test, which lives in the process emitting TAP, does not have access to the test summary in my model. The TAP goes straight back to the test harness. gb.test's only job is to setup and teardown the environment and invoke the test code that the user wants to run, from inside the process that contains the code. gbt3 and the IDE are two alternative implementations of a test harness: gbt3 is suitable for automated testing in a continuous integration or test-on-installation context, while the IDE allows you to do test-driven development. In light of this flowchart, first of all: should we continue to catch and handle errors in test code in gb.test? For convenience, here's the wrapping we are talking about, slightly simplified: --8<-- https://gitlab.com/gambas/gambas/-/blob/3c09d70986a95/comp/src/gb.test/.src/TestSuite/TestCase.class#L48 Try Object.Call() If Error Then Print "not ok " & ... & TestModuleName & ":" & Track.TestName & " Raised error: " & Error.Text Error.Clear Endif -------------------------------------------------------------------------- The effect when a test method raises a Gambas error is that the error is caught and cleared, the message is inserted into the TAP stream as a failed assertion with some data about where it happened and testing continues. Now, suppose we don't have gb.test catch errors from test methods. What will happen is that the interpreter just dies. It will print the error message and where it was raised to stderr and terminate with a non-zero exit code. This is pretty much the information that you inject into the TAP stream (except the error location we get from the interpreter's message is where the error happened exactly, not necessarily the test module/method name). The test harness gets this information in this scenario as well. The only thing that doesn't happen is that testing continues with the next test method, which is alright I would say -- *except* when you want to run a test like your TestFailures.test which must fail and must raise errors to test that gb.test catches them appropriately. But when gb.test doesn't include error catching logic, this test can simply be removed! What are the downsides to not catching errors? When it dies, the interpreter spits out all the information you assemble by itself anyway, so that's not a problem. And even better: when the IDE runs our test process and the error is uncaught, the debugger kicks in and lets us examine the stack frame and local variables where the error happened (subject to the usual constraints: you can't debug code that is in a different component, but we will be able to catch errors in the project being tested). This would not be possible when you catch the error and convert it into a failed assertion. Debugging ability is improved by *not* catching those errors. As a historical side note: I think at some point we agreed that inserting a runtime error as a failed assertion is lying to some extent. Then we converted the ?Print "not ok"? part into a ?BailOut?, which better follows the semantics of TAP. The only reason we now need to go back to the old way is to make TestFaillures.test work. Is that right? I know that you expended much effort into making sure errors are caught properly by gb.test and everything is reported gracefully, but with the multi-process architecture laid out in my flowchart, this issue can be solved differently, by honestly crashing. N.B. that my flowchart specifies a hypothetical future way for testing to work. It is not possible without introducing the test mode and teaching the IDE about testing so that we can do test mode *in* debug mode. I think it's worth it and we should implement that flow. Anyway, should we still decide to keep the Try-If-Error part -- which I think is doable, too --, then what makes this test a bit weird to handle is that it must produce all "not ok"s in order to count as succeeded. I would like it to be rewritten in a way that it produces "ok"s when gb.test does its job properly, if possible. This is so that a normal TAP parser (instead of two specially instructed "this is good if it all fails" human eyes) will tell us if gb.test behaves correctly. Regards, Tobi PS: I have a local branch (with no commits but quite some staged changes) towards the flowchart [1] already since early March. Unless the plan is overthrown, I will polish those changes up and push them for review on the weekend. [1] https://gitlab.com/snippets/1960494 [2] https://gitlab.com/gambas/gambas/-/blob/3c09d70986a95/comp/src/gb.test/.hidden/flowchart.svg -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From admin at allunix.ru Fri Apr 3 05:13:53 2020 From: admin at allunix.ru (Admin) Date: Fri, 3 Apr 2020 10:13:53 +0700 Subject: [Gambas-user] AppImage and WLS2 In-Reply-To: References: Message-ID: <406c2c95-1662-24d9-6fd6-9c987d7f6908@allunix.ru> That would've made Gambas a dream programming language => will never happen. 28.03.2020 20:26, martin p cristia ?????: > Hi, hope everyone is well. > > This is more like an "feature request": > > Do you thing is possible to move from "Executable" programs to an > AppImage single file that includes Gambas runtimes and all its needed? > > I just ran into this while installing MeshLab from "Ubuntu Software" > only to find it won't start. After it, downloaded the AppImage from > MeshLab website, ran it from where it landed , "Downloads" for the > case, to find it finally works. > > I beleive our end users, linux begginers, people not interested in > programming will love it. > > Also, I've done testing in the upcomming WLS2 into the Windows Insider > Program to find that Gambas3 run flawlessly and very fast, only seen > 10% loss of speed in benchmarks with my software. As opposite WLS is > pretty unusable with hungs all the time. > > But from a barebone Windows to and Gambas3 app running is a very long > and tedious way, and will continue to be, wich can be cut in half by > having the possibility of the AppImage. > > Stay safe at home. For us, that's never a problem! > > From chrisml at deganius.de Fri Apr 3 07:19:54 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 3 Apr 2020 07:19:54 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200402233001.GL3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> Message-ID: <11eba862-59ff-0221-48ef-096a317add70@deganius.de> Am 03.04.20 um 01:30 schrieb Tobias Boege: >> 3) TestFailures.test is broken and does not run any more. It was >> necessary to ensure that crashes and failures were handled and reported >> well by gb.test. >> ---------------------------------------------------------------- > > More specifically: > > On Tue, 10 Mar 2020, Christof Thalhofer wrote: >> In gb.test TestFailures.test has 11 Asserts that have to report "not ok". >> > > On this I'm sceptical. > > This might be a good occasion to share here a doodle of a more elaborate > flowchart [1] of testing than the one Christof has posted earlier [2]. > I hope it is understandable; ... > [1] https://gitlab.com/snippets/1960494 Really? No... :-) ... these are way too complicated hieroglyphs to understand in the morning ... and maybe later also ... ;-) But I have a revolutionary idea (please think about it for a while before we go on): gb.test.tap AFAICS introduced a couple of new/improved features: 1) Better/more complete Assertions 2) Subtests What if we merge this thing completely into gb.test and throw away gb.test.tap as a separated component? So: 1) We can debug/step through all these spaghetti paths as it was before. 2) Handle errors/failures/crashes as it was before. 3) Test gb.test and all assertions inside gb.test Then let gb.test spit out raw TAP (+ summary by occasion) and nothing else. gb.test tests and the TAP it spits out is it's only transportation format for test results. Every other further component (gb.test.gui, gb.test.log, gb.test.csv, gb.test.prove ...) has to parse TAP and interpret and handle it in it's own way. What about that? Alles Gute Christof Thalhofer PS.: Now I'm gonna try to decipher your hieroglyphs ... -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Fri Apr 3 08:09:55 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 3 Apr 2020 08:09:55 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200402233001.GL3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> Message-ID: <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> Am 03.04.20 um 01:30 schrieb Tobias Boege: > Now, suppose we don't have gb.test catch errors from test methods. What will > happen is that the interpreter just dies. It will print the error message > and where it was raised to stderr and terminate with a non-zero exit code. > This is pretty much the information that you inject into the TAP stream > (except the error location we get from the interpreter's message is where > the error happened exactly, not necessarily the test module/method name). > The test harness gets this information in this scenario as well. The only > thing that doesn't happen is that testing continues with the next test > method, which is alright I would say -- *except* when you want to run a > test like your TestFailures.test which must fail and must raise errors > to test that gb.test catches them appropriately. But when gb.test doesn't > include error catching logic, this test can simply be removed! No! I even wanted to go further. For the future I had in mind that TestFailures.test reports good, if every test in it failed which now must be recognized by the programmer "by hand". As a reverse test result. This is necessary if you test code that you expect to crash in certain circumstances as a last resort. gb.test should only BailOut and stop if it crashes itself. But every crash in tested code should report not ok. I did not write this test just for a joke. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Fri Apr 3 11:35:43 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 3 Apr 2020 11:35:43 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> Message-ID: <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> Am 03.04.20 um 08:09 schrieb Christof Thalhofer: > I did not write this test just for a joke. And by the way. While developing this feature of gb.test I found a failure in Gambas' Error.Clear, which did not clear the error number correctly. This bug is meanwhile fixed. To find errors, to detect crashes, to be able to control situations where a program crashes and to test it is an important part to ensure stability of code. For instance your gb.openssl or any other security relevant program: I can imagine that there are situations, where you would prefer to stop the program immediately. Then you would be glad if you are able to test it. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From taboege at gmail.com Fri Apr 3 13:11:27 2020 From: taboege at gmail.com (Tobias Boege) Date: Fri, 3 Apr 2020 13:11:27 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> Message-ID: <20200403111127.GM3605349@highrise.localdomain> On Fri, 03 Apr 2020, Christof Thalhofer wrote: > Am 03.04.20 um 08:09 schrieb Christof Thalhofer: > > > I did not write this test just for a joke. > > And by the way. While developing this feature of gb.test I found a > failure in Gambas' Error.Clear, which did not clear the error number > correctly. This bug is meanwhile fixed. > > To find errors, to detect crashes, to be able to control situations > where a program crashes and to test it is an important part to ensure > stability of code. > > For instance your gb.openssl or any other security relevant program: I > can imagine that there are situations, where you would prefer to stop > the program immediately. Then you would be glad if you are able to test it. > I fully agree with the necessity of testing abnormal conditions. If you want to test whether your library throws errors appropriately, then write an actual test for it in your test code: Try MyLibrary.Method("invalid") Assert.Ok(Error, "error happened as expected") Assert.Match(Error.Text, "Method cannot process 'invalid' input", "error message is correct") That's all that's being debated here: move the blanket Try *around* a test method *into* the test method. Test specifically for errors that you know should be thrown under this and this condition. If gb.test has to catch errors on the programmer's code paths, then that means that they are *unexpected* errors which slip through the programmer's test methods. Errors from the library which the test code does not explicitly anticipate. To me that means that the test code is buggy (expects things to work that don't) or that the library is buggy (doesn't work when it should). To a certain extent that's ok. Test code can have bugs too which need to be debugged when they occur. I feel like your catching of all errors in gb.test is a way to deal with unintentionally broken tests -- tests which don't catch all the errors they provoke -- and get some information about what happened in order to fix it. But as I said, letting errors escape and crash the interpreter will allow you to run the debugger on it and get more information directly from the source of the error than catching it in gb.test can give. The norm should be that test methods don't raise errors of their own: - If a test decides that it needs to stop immediately because something is really bad, then it has the option of BailOut in the protocol. - Test code should also not provoke errors in the tested code, except for the purpose of catching them and making Assert'ions about them. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From g4mba5 at gmail.com Fri Apr 3 14:22:59 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 3 Apr 2020 14:22:59 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200403111127.GM3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> <20200403111127.GM3605349@highrise.localdomain> Message-ID: <05669427-8aa6-cb58-f1e7-e385faa6b241@gmail.com> Le 03/04/2020 ? 13:11, Tobias Boege a ?crit?: > On Fri, 03 Apr 2020, Christof Thalhofer wrote: >> Am 03.04.20 um 08:09 schrieb Christof Thalhofer: >> >>> I did not write this test just for a joke. >> >> And by the way. While developing this feature of gb.test I found a >> failure in Gambas' Error.Clear, which did not clear the error number >> correctly. This bug is meanwhile fixed. >> >> To find errors, to detect crashes, to be able to control situations >> where a program crashes and to test it is an important part to ensure >> stability of code. >> >> For instance your gb.openssl or any other security relevant program: I >> can imagine that there are situations, where you would prefer to stop >> the program immediately. Then you would be glad if you are able to test it. >> > > I fully agree with the necessity of testing abnormal conditions. > If you want to test whether your library throws errors appropriately, > then write an actual test for it in your test code: > > Try MyLibrary.Method("invalid") > Assert.Ok(Error, "error happened as expected") > Assert.Match(Error.Text, "Method cannot process 'invalid' input", "error message is correct") > > That's all that's being debated here: move the blanket Try *around* > a test method *into* the test method. Test specifically for errors > that you know should be thrown under this and this condition. > > If gb.test has to catch errors on the programmer's code paths, then > that means that they are *unexpected* errors which slip through the > programmer's test methods. Errors from the library which the test code > does not explicitly anticipate. To me that means that the test code > is buggy (expects things to work that don't) or that the library is > buggy (doesn't work when it should). > > To a certain extent that's ok. Test code can have bugs too which need > to be debugged when they occur. I feel like your catching of all errors > in gb.test is a way to deal with unintentionally broken tests -- tests > which don't catch all the errors they provoke -- and get some information > about what happened in order to fix it. But as I said, letting errors > escape and crash the interpreter will allow you to run the debugger on it > and get more information directly from the source of the error than > catching it in gb.test can give. > > The norm should be that test methods don't raise errors of their own: > > - If a test decides that it needs to stop immediately because > something is really bad, then it has the option of BailOut > in the protocol. > > - Test code should also not provoke errors in the tested code, > except for the purpose of catching them and making Assert'ions > about them. > > Regards, > Tobi > Maybe I will say rubbish, but if both can be useful, couldn't we make that an option ? "Let gb.test catch all errors" or "let the interpreter crash". -- Beno?t Minisini From taboege at gmail.com Fri Apr 3 14:45:11 2020 From: taboege at gmail.com (Tobias Boege) Date: Fri, 3 Apr 2020 14:45:11 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <05669427-8aa6-cb58-f1e7-e385faa6b241@gmail.com> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> <20200403111127.GM3605349@highrise.localdomain> <05669427-8aa6-cb58-f1e7-e385faa6b241@gmail.com> Message-ID: <20200403124511.GN3605349@highrise.localdomain> On Fri, 03 Apr 2020, Beno?t Minisini wrote: > Maybe I will say rubbish, but if both can be useful, couldn't we make that > an option ? "Let gb.test catch all errors" or "let the interpreter crash". > With this we would make progress. It doesn't sound like rubbish. A quick note on implementation: a simple If DontCatch Then Error.Propagate() does _not_ work for this as it raises a new error from the location where Error.Propagate() is called instead of "rethrowing" the old error as I imagined would happen. This will close the doors to the deeper stack frames in which the error happened, so we'd lose the ability to inspect their local variables and such. We would need two different versions of the Run() method in [1]: one which uses Try and one which doesn't and call either depending on the option. [1] https://gitlab.com/gambas/gambas/-/blob/3c09d70986a95/comp/src/gb.test/.src/TestSuite/TestCase.class#L39 -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From chrisml at deganius.de Fri Apr 3 15:08:36 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 3 Apr 2020 15:08:36 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200403111127.GM3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> <20200403111127.GM3605349@highrise.localdomain> Message-ID: <1078a4bf-03b9-4f81-5a0d-56e0a40e6270@deganius.de> Am 03.04.20 um 13:11 schrieb Tobias Boege: > I fully agree with the necessity of testing abnormal conditions. > If you want to test whether your library throws errors appropriately, > then write an actual test for it in your test code: > > Try MyLibrary.Method("invalid") > Assert.Ok(Error, "error happened as expected") > Assert.Match(Error.Text, "Method cannot process 'invalid' input", "error message is correct") This is a case I don't talk about. > That's all that's being debated here: move the blanket Try *around* > a test method *into* the test method. Test specifically for errors > that you know should be thrown under this and this condition. > > If gb.test has to catch errors on the programmer's code paths, then > that means that they are *unexpected* errors which slip through the > programmer's test methods. Errors from the library which the test code > does not explicitly anticipate. To me that means that the test code > is buggy (expects things to work that don't) or that the library is > buggy (doesn't work when it should). Yes. I wrote about this already in February: https://lists.gambas-basic.org/pipermail/user/2020-February/068729.html > To a certain extent that's ok. Test code can have bugs too which need > to be debugged when they occur. I feel like your catching of all errors > in gb.test is a way to deal with unintentionally broken tests -- tests > which don't catch all the errors they provoke -- and get some information > about what happened in order to fix it. But as I said, letting errors > escape and crash the interpreter will allow you to run the debugger on it > and get more information directly from the source of the error than > catching it in gb.test can give. Look. With the original gb.test we were able to test it's own behaviour in cases of errors and crashes. With a small possible change (reverse the following assertion, false becomes true) we could do this automatically but not only for gb.test itself but for every code tested. Now this functionality is gone. If you want to test if in any project in future a certain behavior leads to a crash you can't do this any more. I know that this is a seldom case as a programmer always wants to create code that does not crash, but who knows ...? The only reason why it is gone is, that Asserts are now in gb.test.tap. This in my opinion is ? and it gets clearer the more I think about it ? the wrong decision. And the decision before ? which you didn't like as I understood mostly for aesthetical reasons ? that gb.test tested and printed TAP and also did accounting and bookkeeping, was right. It was not only right because of my arguments above but also the separation of functionality into two components leads to much more complexity (which also can be seen in your flowchart), reduces flexibility and hinders debugging. > The norm should be that test methods don't raise errors of their own: > > - If a test decides that it needs to stop immediately because > something is really bad, then it has the option of BailOut > in the protocol. > > - Test code should also not provoke errors in the tested code, > except for the purpose of catching them and making Assert'ions > about them. There is no norm. Test are there to find out the not normal. Again, to solve this and make things easier, my proposal is: Let's move your Assert class and also accounting to gb.test and restore it's old behavior so that it prints out TAP, a plan and an optional summary without any need for an additional component. In short: Merge gb.test and Assert as well as the printing and accounting part of gb.test.tap. Then let's create TAP eaters that can do anything with it, display in GUI, write to log or whatever we want. For that a lot of code already exists in in gb.test.tap. As since February we are going around in circles on this question I think, Beno?t should have a look at it and decide. Alles Gute Christof Thalhofer -- [x] nail here for new monitor From gambas.fr at gmail.com Fri Apr 3 15:15:27 2020 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 3 Apr 2020 15:15:27 +0200 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: You need a new system tray panel that support the dbus protocol and the old xtray.. I've made some test but it's a lot of work ... Too many for my full planning :-) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Fri Apr 3 15:30:24 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 3 Apr 2020 16:30:24 +0300 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: I think the answer to this question can be found easier from https://www.freedesktop.org/wiki/ or similar. I don't see how this is gambas related question per se, but of course people here can help implement things in gambas, when you figure out what exactly to do. Jussi On Thu, Apr 2, 2020 at 9:12 PM herberth guzman wrote: > I honestly have no idea how to make a new system tray. > > I need help please. > > I need help creating a new system tray that supports 64-bit gb-qt5. > > El mi?., 1 abr. 2020 1:29 p. m., herberth guzman > escribi?: > >> but there's no desktop! i mean we want to create a new systray area! how >> to do? >> >> >> >>> XDG_CURRENT_DESKTOP environment variable. >>> >> set to a custom openbox in my case! no panel or systray area was starte i >> want to start by myselft! >> >> El mi?., 1 abr. 2020 a las 13:24, herberth guzman (< >> herberthguzman at gmail.com>) escribi?: >> >>> >>> >>> El mi?., 1 abr. 2020 a las 13:23, herberth guzman (< >>> herberthguzman at gmail.com>) escribi?: >>> >>>> New Systray >>>> Fabien helped me with this example >>>> but I'm still in trouble. >>>> >>>> Private $hTrayIcons As New TrayIcon[] >>>> >>>> Public Sub Form_Open() >>>> >>>> Dim a As String[] >>>> Dim s As String >>>> Dim sIcon As String >>>> Dim hTray As TrayIcon >>>> Dim vIconPixmap As Variant >>>> Dim i As Integer >>>> Dim ii As Integer >>>> Dim hbut As New Button(Me) >>>> DBus.Debug = True >>>> >>>> a = DBus["org.kde.StatusNotifierWatcher"]["/StatusNotifierWatcher", >>>> "org.kde.StatusNotifierWatcher"].RegisteredStatusNotifierItems >>>> >>>> For Each s In a >>>> >>>> 'sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >>>> "org.kde.StatusNotifierItem"].IconThemePath >>>> hTray = New TrayIcon >>>> hTray.Name = s >>>> hbut.Text = s >>>> 'Print DBus[File.Dir(s)]["/" & File.Name(s), >>>> "org.kde.StatusNotifierItem"].OverlayIconName >>>> sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >>>> "org.kde.StatusNotifierItem"].IconName >>>> hTray.IconName = sIcon >>>> >>>> ' Print sIcon >>>> ' Print hTray.IconName >>>> vIconPixmap = DBus[File.Dir(s)]["/" & File.Name(s), >>>> "org.kde.StatusNotifierItem"].IconPixmap >>>> If vIconPixmap Then >>>> Try hTray.Icon = GetPictureFromAVariant(vIconPixmap) >>>> Endif >>>> >>>> $hTrayIcons.Add(hTray) >>>> >>>> For ii = 0 To $hTrayIcons.Max >>>> hbut.H = 48 >>>> hbut.w = 48 >>>> hbut.Picture = $hTrayIcons[i].GetIcon(32) >>>> >>>> Next >>>> ' Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >>>> >>>> >>>> Next >>>> >>>> DrawingArea1.Refresh >>>> >>>> 'Me.Picture = hDBusPixmap.GetPicture() >>>> End >>>> >>>> Private Sub GetPictureFromAVariant(hValue As Variant[]) As Picture >>>> >>>> Dim H, W As Integer >>>> Dim hData As Byte[] >>>> Dim hFile As File >>>> Dim hPic As Image >>>> >>>> W = hValue[0][0] >>>> H = hValue[0][1] >>>> hData = hValue[0][2] >>>> >>>> hPic = New Image(W, H, Color.Transparent) >>>> hPic.Format = "ARGB" >>>> hFile = Memory hPic.Data For Write >>>> hData.Write(hFile) >>>> hFile.Close >>>> Return hPic.picture >>>> >>>> End >>>> >>>> Public Sub DrawingArea1_Draw() >>>> >>>> Dim i As Integer >>>> >>>> For i = 0 To $hTrayIcons.Max >>>> Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >>>> Next >>>> >>>> End >>>> >>>> [System] >>>> Gambas=3.14.90 0714bf7 (master) >>>> OperatingSystem=Linux >>>> Kernel=5.4.0-18-generic >>>> Architecture=x86_64 >>>> Distribution=Ubuntu Focal Fossa (development branch) >>>> Desktop=INNOVA >>>> Theme=Fusion >>>> Language=es_GT.UTF-8 >>>> Memory=3735M >>>> >>>> [Libraries] >>>> Cairo=libcairo.so.2.11600.0 >>>> Curl=libcurl.so.4.6.0 >>>> DBus=libdbus-1.so.3.19.11 >>>> GStreamer=libgstreamer-1.0.so.0.1602.0 >>>> GTK+2=libgtk-x11-2.0.so.0.2400.32 >>>> GTK+3=libgtk-3.so.0.2404.10 >>>> OpenGL=libGL.so.1.7.0 >>>> Poppler=libpoppler.so.95.0.0 >>>> Poppler=libpoppler.so.97.0.0 >>>> QT5=libQt5Core.so.5.12.5 >>>> SDL=libSDL-1.2.so.0.11.4 >>>> SQLite=libsqlite3.so.0.8.6 >>>> >>>> [Environment] >>>> CLUTTER_IM_MODULE=ibus >>>> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus >>>> DESKTOP_SESSION=Innova >>>> DISPLAY=:0 >>>> GB_GUI=gb.qt5 >>>> GDMSESSION=Innova >>>> GNOME_DESKTOP_SESSION_ID=this-is-deprecated >>>> GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 >>>> GTK_IM_MODULE=ibus >>>> GTK_MODULES=gail:atk-bridge >>>> HOME= >>>> LANG=es_GT.UTF-8 >>>> LANGUAGE=es_GT.UTF-8 >>>> LOGNAME= >>>> >>>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin >>>> PWD= >>>> QT4_IM_MODULE=ibus >>>> QT_ACCESSIBILITY=1 >>>> QT_IM_MODULE=ibus >>>> QT_LOGGING_RULES=*.debug=false >>>> >>>> SESSION_MANAGER=local/:@/tmp/.ICE-unix/1740,unix/:/tmp/.ICE-unix/1740 >>>> SHELL=/bin/bash >>>> SHLVL=1 >>>> SSH_AGENT_PID=1692 >>>> SSH_AUTH_SOCK=/run/user/1000/keyring/ssh >>>> TZ=:/etc/localtime >>>> USER= >>>> USERNAME= >>>> WINDOWPATH=2 >>>> XAUTHORITY=/run/user/1000/gdm/Xauthority >>>> XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg/xdg-Innova:/etc/xdg >>>> XDG_CONFIG_HOME=/.config >>>> XDG_CURRENT_DESKTOP=Innova >>>> >>>> XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu-xdg/ >>>> XDG_MENU_PREFIX=innova- >>>> XDG_RUNTIME_DIR=/run/user/1000 >>>> XDG_SEAT=seat0 >>>> XDG_SESSION_CLASS=user >>>> XDG_SESSION_DESKTOP=Innova >>>> XDG_SESSION_ID=10 >>>> XDG_SESSION_TYPE=x11 >>>> XDG_VTNR=2 >>>> XMODIFIERS=@im=ibus >>>> >>>> El mi?., 1 abr. 2020 a las 13:21, herberth guzman (< >>>> herberthguzman at gmail.com>) escribi?: >>>> >>>>> X11 Classic >>>>> gb-qt5 BAD >>>>> gb-qt4 OK >>>>> >>>>> Public Sub _new() >>>>> >>>>> Shell "vlc" >>>>> Shell "nm-applet" >>>>> >>>>> End >>>>> >>>>> Public Sub Form_Open() >>>>> >>>>> X11Systray.Show(dwgSystemTray.Handle) >>>>> >>>>> End >>>>> >>>>> Static Public Sub X11Systray_Arrange() >>>>> >>>>> FMain.ArrangeTray >>>>> >>>>> End >>>>> >>>>> Public Sub ArrangeTray() >>>>> >>>>> Dim I As Integer >>>>> Dim X, Y, H As Integer >>>>> >>>>> Debug >>>>> X = 2 >>>>> Y = 2 >>>>> For I = 0 To X11Systray.Count - 1 >>>>> With X11Systray[I] >>>>> Debug I;; .IconW;; .IconH >>>>> If (X + .IconW) >= (Me.ClientW - 2) Then >>>>> X = 2 >>>>> Y += H + 2 >>>>> H = 0 >>>>> Endif >>>>> .Move(X, Y, .IconW, .IconH) >>>>> H = Max(H, .IconH) >>>>> X += .IconW + 2 >>>>> End With >>>>> Next >>>>> >>>>> End >>>>> >>>>> Public Sub Form_Resize() >>>>> >>>>> ArrangeTray >>>>> >>>>> End >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> El mi?., 1 abr. 2020 a las 13:13, Beno?t Minisini () >>>>> escribi?: >>>>> >>>>>> Le 01/04/2020 ? 21:05, herberth guzman a ?crit : >>>>>> > >>>>>> >>>What does not work exactly? >>>>>> > >>>>>> > I have a classic system tray (x11) >>>>>> > with ubuntu 32 bits and gb-qt4 it works fine for me >>>>>> > >>>>>> > with ubuntu 64 bit and gb-qt5 it doesn't work >>>>>> > does not show anything in the system tray >>>>>> > >>>>>> > Error: >>>>>> > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" >>>>>> > FMain.ArrangeTray.28: >>>>>> > >>>>>> >>>>>> If you don't give more details, I can't help. Which system? Which >>>>>> desktop? How do you implement the system tray? Did you implement X11 >>>>>> protocol, DBus protocol, both? And so on... >>>>>> >>>>>> -- >>>>>> Beno?t Minisini >>>>>> >>>>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>>>>> >>>>> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Fri Apr 3 16:54:49 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 3 Apr 2020 16:54:49 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <05669427-8aa6-cb58-f1e7-e385faa6b241@gmail.com> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> <20200403111127.GM3605349@highrise.localdomain> <05669427-8aa6-cb58-f1e7-e385faa6b241@gmail.com> Message-ID: <426a2421-8669-b048-59c2-503faa390511@deganius.de> Am 03.04.20 um 14:22 schrieb Beno?t Minisini: > Maybe I will say rubbish, but if both can be useful, couldn't we make > that an option ? "Let gb.test catch all errors" or "let the interpreter > crash". In theory yes, in reality not. I tried to restore this functionality in the current gb.test, but even if it's there, TestFailures.test does not run trough, but just 7 of 11 tests, as I remember [1]. I found out that there are further things in the assertions that do not what they should do. But these cannot debugged, because Assert is not in gb.test any more and so cannot be stepped through ... I have a few hundred tests for my code at home but I cannot run these with the new gb.test because Tobi decided to change Got and Expected in the signatures of the assertions to be the other way round as it was before. So with the new gb.test I would have to change hundreds of test calls in my own software ... ... hmmm ... for sure I would do this if the new gb.test was reliable, but it is obviously not. So from my own perspective the current state of this thing is a complete mess :-( Please mention: The old one tested my own software for four years. Alles Gute Christof Thalhofer [1] https://lists.gambas-basic.org/pipermail/user/2020-March/068793.html -- [x] nail here for new monitor From taboege at gmail.com Fri Apr 3 18:49:09 2020 From: taboege at gmail.com (Tobias Boege) Date: Fri, 3 Apr 2020 18:49:09 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <426a2421-8669-b048-59c2-503faa390511@deganius.de> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> <20200403111127.GM3605349@highrise.localdomain> <05669427-8aa6-cb58-f1e7-e385faa6b241@gmail.com> <426a2421-8669-b048-59c2-503faa390511@deganius.de> Message-ID: <20200403164909.GO3605349@highrise.localdomain> On Fri, 03 Apr 2020, Christof Thalhofer wrote: > Am 03.04.20 um 14:22 schrieb Beno?t Minisini: > > > Maybe I will say rubbish, but if both can be useful, couldn't we make > > that an option ? "Let gb.test catch all errors" or "let the interpreter > > crash". > > In theory yes, in reality not. > > I tried to restore this functionality in the current gb.test, but even > if it's there, TestFailures.test does not run trough, but just 7 of 11 > tests, as I remember [1]. I found out that there are further things in > the assertions that do not what they should do. > > But these cannot debugged, because Assert is not in gb.test any more and > so cannot be stepped through ... > > I have a few hundred tests for my code at home but I cannot run these > with the new gb.test because Tobi decided to change Got and Expected in > the signatures of the assertions to be the other way round as it was > before. So with the new gb.test I would have to change hundreds of test > calls in my own software ... > We already talked about this in private. It was not a conscious decision. Assert.Equals(Got, Expected) is simply how all TAP producers order their arguments and how people usually write comparisons in If statements. The API is not final either. This is Gambas HEAD. > ... hmmm ... > > for sure I would do this if the new gb.test was reliable, but it is > obviously not. > > So from my own perspective the current state of this thing is a complete > mess :-( > I started this thread with a list of problems I was made aware of and which I was going to tackle on the weekend. These problems popped up after we seemed to agree on everything and my branch got merged. What I mainly wanted to discuss in the opening mail is the Try-Catch business and the flowchart. But you brought up a bunch of other things you are not content with that I'm honestly wondering if we should go forward at all or just revert to the state of four years ago. I made a list of the things you mentioned and will work on them tomorrow in the way I think is best -- on a separate branch, no pull requests, no merges. After the bugs in TapPrinter are fixed, which has to happen anyway if we don't want to revert to Print statements scattered all over gb.test, I do think that the gaps between what I would like and what you would like are not that hard to jump over. Beno?t can feel free to make binary decisions about what's best in the end. That said, I have never been so tired of arguing. I'm just gonna see for myself how my ideas perform in practice. Speaking of which: could everyone read the flowchart in the end or should I make one with computer letters? Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From chrisml at deganius.de Fri Apr 3 20:55:43 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 3 Apr 2020 20:55:43 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200403164909.GO3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <566c9592-29fc-675a-fd92-7aed32c45c96@deganius.de> <8838e414-7434-9ddd-27ef-e6722189079d@deganius.de> <20200403111127.GM3605349@highrise.localdomain> <05669427-8aa6-cb58-f1e7-e385faa6b241@gmail.com> <426a2421-8669-b048-59c2-503faa390511@deganius.de> <20200403164909.GO3605349@highrise.localdomain> Message-ID: Am 03.04.20 um 18:49 schrieb Tobias Boege: > I started this thread with a list of problems I was made aware of and > which I was going to tackle on the weekend. These problems popped up > after we seemed to agree on everything and my branch got merged. > > What I mainly wanted to discuss in the opening mail is the Try-Catch > business and the flowchart. But you brought up a bunch of other things > you are not content with that I'm honestly wondering if we should go > forward at all or just revert to the state of four years ago. Sorry. This is my quarter-brazilian temperament. I spent four years developing it, besides when I was programming other things. Not four years ago... Maybe it is not the most elegant, but it was very stable and reliable. If it did something suspicious, i fixed it and often wrote a test to ensure that it would not happen again. This happened when I had to test different parts of our software. You cannot imagine the things that can go wrong. > I made a list of the things you mentioned and will work on them tomorrow > in the way I think is best -- on a separate branch, no pull requests, > no merges. After the bugs in TapPrinter are fixed, which has to happen > anyway if we don't want to revert to Print statements scattered all over > gb.test, It was not "scattered all over", gb.test had it's own tap printer (Private Sub Test in Assert) , which was called by the assertions. The few occasions, where it printed a "not ok" directly could also have used that, if it was in a separate module. I know, your printer is better, also your assertions are. But the downside is, they are sitting in gb.test.tap and not in gb.test. > I do think that the gaps between what I would like and what > you would like are not that hard to jump over. Ok, now that I cooled down a bit, I also think so. :-) > Speaking of which: could everyone read the flowchart in the end or > should I make one with computer letters? For me it's not the letters. It's the basic idea that I do not like. I think you will discover the drawbacks if you try to restore the deleted functionality and make sure that it fulfils the available tests. Then you will see that it swallows certain things and does not display them and that it is very difficult to debug because the code you have to debug runs in a component which is not able to test itself! This is the wrong architectural decision for a test system. gb.test is able to test itself and you should use that instead of discussing things away. If it fulfils it's own tests I would start to think that it starts to get reliable. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From pinozollo at gmail.com Fri Apr 3 21:38:06 2020 From: pinozollo at gmail.com (Pino Zollo) Date: Fri, 3 Apr 2020 15:38:06 -0400 Subject: [Gambas-user] Blinking Message-ID: <2e6e8fa7-4e29-1c33-f3f1-bd5dd29b4e45@gmail.com> Is there any way to make a text or a label blinking ? Thanks Pino Zollo From bagonergi at gmail.com Fri Apr 3 22:31:59 2020 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 3 Apr 2020 22:31:59 +0200 Subject: [Gambas-user] Blinking In-Reply-To: <2e6e8fa7-4e29-1c33-f3f1-bd5dd29b4e45@gmail.com> References: <2e6e8fa7-4e29-1c33-f3f1-bd5dd29b4e45@gmail.com> Message-ID: Il giorno ven 3 apr 2020 alle ore 21:39 Pino Zollo ha scritto: > Is there any way to make a text or a label blinking ? > You mean something like this? Public hTimer As Timer Private $bText As Boolean Public Label1 As Label Public Sub Form_Open() hTimer = New Timer As "Timer1" hTimer.Delay = 300 hTimer.Enabled = True Label1 = New Label(Me) Label1.X = 120 Label1.Y = 50 Label1.H = 80 Label1.W = 240 Label1.Font = Font["Sans serif,16,bold"] Label1.Foreground = Color.Red Label1.Alignment = Align.Center Label1.Text = "Blinking Text" End Public Sub Timer1_Timer() $bText = Not $bText If $bText Then Label1.Text = "Blinking Text" Else Label1.Text = "" Endif End Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Apr 3 22:39:58 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 3 Apr 2020 16:39:58 -0400 Subject: [Gambas-user] Blinking In-Reply-To: References: <2e6e8fa7-4e29-1c33-f3f1-bd5dd29b4e45@gmail.com> Message-ID: <6e76af32-0af3-34b9-537c-e08c4902981a@gmail.com> On 4/3/20 4:31 PM, Gianluigi wrote: > > > Il giorno ven 3 apr 2020 alle ore 21:39 Pino Zollo > ha scritto: > > Is there any way to make a text or a label blinking ? > > > You mean something like this? > > Public hTimer As Timer > Private $bText As Boolean > Public Label1 As Label > > Public Sub Form_Open() > > ? hTimer = New Timer As "Timer1" > ? hTimer.Delay = 300 > ? hTimer.Enabled = True > ? Label1 = New Label(Me) > ? Label1.X = 120 > ? Label1.Y = 50 > ? Label1.H = 80 > ? Label1.W = 240 > ? Label1.Font = Font["Sans serif,16,bold"] > ? Label1.Foreground = Color.Red > ? Label1.Alignment = Align.Center > ? Label1.Text = "Blinking Text" > > End > > Public Sub Timer1_Timer() > > ? $bText = Not $bText > ? If $bText Then > ? ? Label1.Text = "Blinking Text" > ? Else > ? ? Label1.Text = "" > ? Endif > > End > > Regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > You came up with the same concept of using a timer as I did, Gianluigi. Except, I implemented the blink a little differently. ' Gambas class file Public Sub Form_Open() Timer1.Start End Public Sub Timer1_Timer() If Label1.Foreground = Color.Background Then Label1.Foreground = Color.Foreground Else Label1.Foreground = Color.Background Endif End -- Lee From bagonergi at gmail.com Fri Apr 3 23:20:13 2020 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 3 Apr 2020 23:20:13 +0200 Subject: [Gambas-user] Blinking In-Reply-To: <6e76af32-0af3-34b9-537c-e08c4902981a@gmail.com> References: <2e6e8fa7-4e29-1c33-f3f1-bd5dd29b4e45@gmail.com> <6e76af32-0af3-34b9-537c-e08c4902981a@gmail.com> Message-ID: Il giorno ven 3 apr 2020 alle ore 22:40 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > > Public Sub Timer1_Timer() > > If Label1.Foreground = Color.Background Then > Label1.Foreground = Color.Foreground > Else > Label1.Foreground = Color.Background > Endif > > End > Nice I like it :-) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From pinozollo at gmail.com Sat Apr 4 03:39:54 2020 From: pinozollo at gmail.com (Pino Zollo) Date: Fri, 3 Apr 2020 21:39:54 -0400 Subject: [Gambas-user] Blinking In-Reply-To: References: Message-ID: <3469166a-b27e-662e-4441-4d7008d4fcab@gmail.com> Nice.....but for not loosing the color I did: Public Colore As Integer = Color.VisitedForeground ....... Public Sub BlinkTimer_Timer() ??? If Label2.Foreground = Colore Then ????? Label2.Foreground = Label2.Background ? Else ????? Label2.Foreground = Colore ??? Endif END Saluti Pino El 3/4/20 a las 17:21, user-request at lists.gambas-basic.org escribi?: > > > Il giorno ven 3 apr 2020 alle ore 22:40 T Lee Davidson > > ha scritto: > > > Public Sub Timer1_Timer() > > ? ?If Label1.Foreground = Color.Background Then > ? ? ?Label1.Foreground = Color.Foreground > ? ?Else > ? ? ?Label1.Foreground = Color.Background > ? ?Endif > > End > > > Nice I like it :-) -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Apr 4 04:33:35 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 3 Apr 2020 22:33:35 -0400 Subject: [Gambas-user] Blinking In-Reply-To: <3469166a-b27e-662e-4441-4d7008d4fcab@gmail.com> References: <3469166a-b27e-662e-4441-4d7008d4fcab@gmail.com> Message-ID: <253708de-834b-703b-cc4b-601e6cbfad47@gmail.com> On 4/3/20 9:39 PM, Pino Zollo wrote: > Nice.....but for not loosing the color I did: > > Public Colore As Integer = Color.VisitedForeground > > ....... > > Public Sub BlinkTimer_Timer() > > ??? If Label2.Foreground = Colore Then > ????? Label2.Foreground = Label2.Background > ? Else > ????? Label2.Foreground = Colore > ??? Endif > > END > > Saluti > > Pino > Keep in mind that the default integer value for .Foreground and .Background is -1 which means the distinct Default color for those individual properties. If Label2.Background is not explicitly set, assigning Label2.Foreground = Label2.Background would set Label2.Foreground to -1 which would yield the default color for Label2.Foreground. This may lead to unexpected results. -- Lee From g4mba5 at gmail.com Sat Apr 4 16:30:55 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 4 Apr 2020 16:30:55 +0200 Subject: [Gambas-user] '&=' operator optimization Message-ID: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Hi, In the last commit, I implemented an optimization of a common usage pattern of the '&=' operator, where a string is actually used as an accumulation buffer. Look at the following code, where a global string is filled with arbitrary strings: Private $sBuffer As String Public Sub Main() Dim I As Integer Dim C As String Dim J As Integer Dim T As Float T = Timer For I = 1 To 10000 For J = 65 To 90 C = Chr$(J) $sBuffer &= ".(" & C & ")" Next Next Print Len($sBuffer);; Timer - T End Before the optimization, that code runs in about 6.64 seconds. After the optimization, it runs in 0.026 seconds. More than 250 times faster! Note that the optimization works only if the string buffer is a local or global variable. If you detect any problem or any crash with that optimization, tell me. Regards, -- Beno?t Minisini From isafiur at gmail.com Sat Apr 4 16:31:34 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 4 Apr 2020 20:16:34 +0545 Subject: [Gambas-user] Running Exec in webapplication Message-ID: Hi Beno?t I have a web app on apache2 which contains Exec command eg. Exec ["ls", "-la"] To sVal WebTextArea1.Text = sVal How can I get value when compiled CGI app is installed in /usr/lib/cgi-bin ? Safiur Rahman From g4mba5 at gmail.com Sat Apr 4 16:38:20 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 4 Apr 2020 16:38:20 +0200 Subject: [Gambas-user] Running Exec in webapplication In-Reply-To: References: Message-ID: <94a58f8e-85ad-bbf4-6140-ca195a19a761@gmail.com> Le 04/04/2020 ? 16:31, Safiur Rahman a ?crit?: > Hi Beno?t > > I have a web app on apache2 which contains Exec command eg. > Exec ["ls", "-la"] To sVal > WebTextArea1.Text = sVal > > How can I get value when compiled CGI app is installed in /usr/lib/cgi-bin ? > How can I get value of what? -- Beno?t Minisini From isafiur at gmail.com Sat Apr 4 16:44:49 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 4 Apr 2020 20:29:49 +0545 Subject: [Gambas-user] Running Exec in webapplication Message-ID: I mean I dont get the value in WebTextbox when running from /usr/lib/cgi-bin. However the webTextarea gets the value when using gb.httpd. Attached a sample -- Regards Safiur Rahman -------------- next part -------------- A non-text attachment was scrubbed... Name: webapp.zip Type: application/zip Size: 14982 bytes Desc: not available URL: From g4mba5 at gmail.com Sat Apr 4 17:03:03 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 4 Apr 2020 17:03:03 +0200 Subject: [Gambas-user] Running Exec in webapplication In-Reply-To: References: Message-ID: <454d6cf2-f767-1b91-f5bb-0585c6ff8619@gmail.com> Le 04/04/2020 ? 16:44, Safiur Rahman a ?crit?: > I mean I dont get the value in WebTextbox when running from > /usr/lib/cgi-bin. However the webTextarea gets the value when using > gb.httpd. > Attached a sample > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Are you sure that your web server can run "ls", can access the directory you want to browse and so on? -- Beno?t Minisini From isafiur at gmail.com Sat Apr 4 17:15:30 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 4 Apr 2020 21:00:30 +0545 Subject: [Gambas-user] Running Exec in webapplication In-Reply-To: References: Message-ID: Yes, certainly this is permission problem. The apache's error.log says "Timeout waiting for output from CGI script". On other occasions I used to get 'Home directory not accessible: Permission denied". I have to use a lot of CLI applications in my webapp. What do you recommend in such situation? On 4/4/20, Safiur Rahman wrote: > I mean I dont get the value in WebTextbox when running from > /usr/lib/cgi-bin. However the webTextarea gets the value when using > gb.httpd. > Attached a sample > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman From pebauer68 at gmail.com Sat Apr 4 18:06:20 2020 From: pebauer68 at gmail.com (Peter Bauer) Date: Sat, 4 Apr 2020 18:06:20 +0200 Subject: [Gambas-user] '&=' operator optimization (Beno?t Minisini) Message-ID: Hello, Gambas 3.14.90 on x86: Currently my Gambas IDE crashes when I activate profiling with a segfault. The segfault happens with any App when pressing the stop button in the IDE. Is it possible to reproduce this issue on your side ? Best Regards, Peter Bauer -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sat Apr 4 18:20:18 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 4 Apr 2020 18:20:18 +0200 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: Il giorno sab 4 apr 2020 alle ore 16:32 Beno?t Minisini ha scritto: > Hi, > > In the last commit, I implemented an optimization of a common usage > .... > If you detect any problem or any crash with that optimization, tell me. > with the previous master the time was just under 7 seconds now it is just above, it is practically the same time (*). What I did not understand? Regards Gianluigi (*)---------------------------- 1040000 7,04505728499862 [System] Gambas=3.14.90 8f0d4db (master) OperatingSystem=Linux Kernel=4.15.0-91-generic Architecture=x86_64 Distribution=Ubuntu 18.04.4 LTS Desktop=UBUNTU:GNOME Theme=Fusion Language=it_IT.UTF-8 Memory=15968M ------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Apr 4 18:58:45 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 4 Apr 2020 19:58:45 +0300 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: Current code fails in GambasTester. Could be due earlier bug. I highly recommend to automatically run it after compilation. I know it's ugly as hell, but it does its job a lot better than nothing. Jussi On Sat, Apr 4, 2020 at 5:32 PM Beno?t Minisini wrote: > Hi, > > In the last commit, I implemented an optimization of a common usage > pattern of the '&=' operator, where a string is actually used as an > accumulation buffer. > > Look at the following code, where a global string is filled with > arbitrary strings: > > Private $sBuffer As String > > Public Sub Main() > > Dim I As Integer > Dim C As String > Dim J As Integer > Dim T As Float > > T = Timer > For I = 1 To 10000 > For J = 65 To 90 > C = Chr$(J) > $sBuffer &= ".(" & C & ")" > Next > Next > > Print Len($sBuffer);; Timer - T > > End > > Before the optimization, that code runs in about 6.64 seconds. > > After the optimization, it runs in 0.026 seconds. More than 250 times > faster! > > Note that the optimization works only if the string buffer is a local or > global variable. > > If you detect any problem or any crash with that optimization, tell me. > > Regards, > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GambasTestercmd-0.10.22.tar.gz Type: application/gzip Size: 30027 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Sat Apr 4 19:14:36 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 4 Apr 2020 20:14:36 +0300 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: Sorry, I didn't notice you had fix it already. However there is still another bug, that can be seen only when JIT is disabled. Jussi On Sat, Apr 4, 2020 at 7:58 PM Jussi Lahtinen wrote: > Current code fails in GambasTester. Could be due earlier bug. > I highly recommend to automatically run it after compilation. I know it's > ugly as hell, but it does its job a lot better than nothing. > > Jussi > > On Sat, Apr 4, 2020 at 5:32 PM Beno?t Minisini wrote: > >> Hi, >> >> In the last commit, I implemented an optimization of a common usage >> pattern of the '&=' operator, where a string is actually used as an >> accumulation buffer. >> >> Look at the following code, where a global string is filled with >> arbitrary strings: >> >> Private $sBuffer As String >> >> Public Sub Main() >> >> Dim I As Integer >> Dim C As String >> Dim J As Integer >> Dim T As Float >> >> T = Timer >> For I = 1 To 10000 >> For J = 65 To 90 >> C = Chr$(J) >> $sBuffer &= ".(" & C & ")" >> Next >> Next >> >> Print Len($sBuffer);; Timer - T >> >> End >> >> Before the optimization, that code runs in about 6.64 seconds. >> >> After the optimization, it runs in 0.026 seconds. More than 250 times >> faster! >> >> Note that the optimization works only if the string buffer is a local or >> global variable. >> >> If you detect any problem or any crash with that optimization, tell me. >> >> Regards, >> >> -- >> Beno?t Minisini >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Apr 4 19:35:57 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 4 Apr 2020 19:35:57 +0200 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: Le 04/04/2020 ? 18:58, Jussi Lahtinen a ?crit?: > Current code fails in GambasTester. Could be due earlier bug. > I highly recommend to automatically run it after compilation. I know > it's ugly as hell, but it does its job a lot better than nothing. > > Jussi > You're right, but it is too slow to run it at each compilation. -- Beno?t Minisini From jussi.lahtinen at gmail.com Sat Apr 4 19:36:12 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 4 Apr 2020 20:36:12 +0300 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: And when checking documentation, it seems VarPtr() has changed... but JIT still accepts the old way. Now its test is fixed. Jussi On Sat, Apr 4, 2020 at 8:14 PM Jussi Lahtinen wrote: > Sorry, I didn't notice you had fix it already. However there is still > another bug, that can be seen only when JIT is disabled. > > > Jussi > > On Sat, Apr 4, 2020 at 7:58 PM Jussi Lahtinen > wrote: > >> Current code fails in GambasTester. Could be due earlier bug. >> I highly recommend to automatically run it after compilation. I know it's >> ugly as hell, but it does its job a lot better than nothing. >> >> Jussi >> >> On Sat, Apr 4, 2020 at 5:32 PM Beno?t Minisini wrote: >> >>> Hi, >>> >>> In the last commit, I implemented an optimization of a common usage >>> pattern of the '&=' operator, where a string is actually used as an >>> accumulation buffer. >>> >>> Look at the following code, where a global string is filled with >>> arbitrary strings: >>> >>> Private $sBuffer As String >>> >>> Public Sub Main() >>> >>> Dim I As Integer >>> Dim C As String >>> Dim J As Integer >>> Dim T As Float >>> >>> T = Timer >>> For I = 1 To 10000 >>> For J = 65 To 90 >>> C = Chr$(J) >>> $sBuffer &= ".(" & C & ")" >>> Next >>> Next >>> >>> Print Len($sBuffer);; Timer - T >>> >>> End >>> >>> Before the optimization, that code runs in about 6.64 seconds. >>> >>> After the optimization, it runs in 0.026 seconds. More than 250 times >>> faster! >>> >>> Note that the optimization works only if the string buffer is a local or >>> global variable. >>> >>> If you detect any problem or any crash with that optimization, tell me. >>> >>> Regards, >>> >>> -- >>> Beno?t Minisini >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Apr 4 19:37:58 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 4 Apr 2020 20:37:58 +0300 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: Oh, I see... not much can be done to that. Well, I try to compile Gambas more often. Jussi On Sat, Apr 4, 2020 at 8:36 PM Beno?t Minisini wrote: > Le 04/04/2020 ? 18:58, Jussi Lahtinen a ?crit : > > Current code fails in GambasTester. Could be due earlier bug. > > I highly recommend to automatically run it after compilation. I know > > it's ugly as hell, but it does its job a lot better than nothing. > > > > Jussi > > > > You're right, but it is too slow to run it at each compilation. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sat Apr 4 19:39:37 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 4 Apr 2020 19:39:37 +0200 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: Il giorno sab 4 apr 2020 alle ore 18:20 Gianluigi ha scritto: > > > Il giorno sab 4 apr 2020 alle ore 16:32 Beno?t Minisini > ha scritto: > >> Hi, >> >> In the last commit, I implemented an optimization of a common usage >> .... >> If you detect any problem or any crash with that optimization, tell me. >> > > with the previous master the time was just under 7 seconds now it is just > above, it is practically the same time (*). > What I did not understand? > > Regards > Gianluigi > > (*)---------------------------- > 1040000 7,04505728499862 > > [System] > Gambas=3.14.90 8f0d4db (master) > OperatingSystem=Linux > Kernel=4.15.0-91-generic > Architecture=x86_64 > Distribution=Ubuntu 18.04.4 LTS > Desktop=UBUNTU:GNOME > Theme=Fusion > Language=it_IT.UTF-8 > Memory=15968M > ------------------------------- > Hi Benoit, Ok I didn't understand why just compiled and given these commands: ~$ cd ~$ gambas3 running the program worked as before. I tried again after closing gambas3 and restarting from the dash and from terminal works perfectly (*), even after restarting the computer. Regards Gianluigi (*) 1040000 0,021908701000001 -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Apr 4 19:48:55 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 4 Apr 2020 19:48:55 +0200 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: <5430310e-9b3a-935d-d92a-2158ed7f7950@gmail.com> Le 04/04/2020 ? 19:39, Gianluigi a ?crit?: > > > with the previous master the time was just under 7 seconds now it is > just above, it is practically the same time (*). > What I did not understand? > > Regards > Gianluigi > Sorry, I forgot to specify that you have to recompile the code. The compiler detects if '&=' can be optimized, and indicates that to the interpreter. Regards, -- Beno?t Minisini From g4mba5 at gmail.com Sat Apr 4 21:07:04 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 4 Apr 2020 21:07:04 +0200 Subject: [Gambas-user] '&=' operator optimization In-Reply-To: References: <69cc2b62-8599-b4ba-2193-6380108420e7@gmail.com> Message-ID: Le 04/04/2020 ? 19:36, Jussi Lahtinen a ?crit?: > And when checking documentation, it seems VarPtr() has changed... but > JIT still accepts the old way. > Now its test is fixed. > > Jussi > Yes, I forgot to raise the error in JIT compiler. I will fix that. Would you like to integrate your project to the Gambas source code, so that it is run (both with JIT and without) after the installation process? That way, if an error is raised when it fails, it should stop the CI jobs of GitLab run at each commit, and I will be warned immediately that something is bad. -- Beno?t Minisini From chrisml at deganius.de Sun Apr 5 10:44:49 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 5 Apr 2020 10:44:49 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200402233001.GL3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> Message-ID: <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> Am 03.04.20 um 01:30 schrieb Tobias Boege: > Christof has reminded me what the critical points are: > > On Thu, 02 Apr 2020, Christof Thalhofer wrote: >> ---------------------------------------------------------------- >> 1) Assert is now in gb.test.tap and not in gb.test. But this makes no >> sense because asserts must not be associated to the output format. In >> addition the flow of testing and assertions cannot be debugged inside >> gb.test any more. >> > > I agree with this. gb.test must contain the Assert module which provides > "high-level" assertions like comparing strings and printing diagnostics > when the test fails ("expected this string but got that string"). > > But gb.test.tap should still export a *minimal* Assert module that just > contains Ok, Diag, BailOut, Todo, Skip and Subtest functionality. > gb.test builds its assertions on top of these primitives by extending > the Assert module. This allows TAP to be switched out for another format > as long as the other format's Assert module provides the above primitives. > > I think Beno?t also suggested something along those lines, so we agree. > D'accord? The more i think of it my doubts grow. The test system core must have to be able to test itself to ensure it's reliability. Are "Ok, Diag, BailOut, Todo, Skip and Subtest" not essential parts of this core? If one of them swallows things this is as bad as if an assertion does something wrong. I would like it better if the test system is reliable in itself and spits out its results in the form of TAP (as transport format). If we do the separation for fictional Gui, CVS, Log ... why can't they take TAP and convert it into their special output format? Why should they have to provide essential parts of the test system as interfaces? Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From gambas.fr at gmail.com Sun Apr 5 11:39:34 2020 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 5 Apr 2020 11:39:34 +0200 Subject: [Gambas-user] gb.chart Documentation (was Size of Cake Chart in Chart.gb) In-Reply-To: References: <6754f512-160c-4808-cffb-aadb95313fdd@gmx.li> <5d8e00db-ecff-eea7-9ca3-e7e9d6dd51cf@gmail.com> <37330d54-f3e6-f798-457e-9c8b27b7d1c2@gmail.com> Message-ID: Le sam. 28 mars 2020 ? 18:08, Gianluigi a ?crit : > > > > Il giorno sab 28 mar 2020 alle ore 17:15 T Lee Davidson ha scritto: >> >> On 3/27/20 6:58 PM, Gianluigi wrote: >> > P.S. To anyone who may know, where is the Wiki documentation for gb.chart? >> > >> > >> > http://gambaswiki.org/wiki/comp/gb.chart >> >> Thank you for that, Gianluigi. >> >> I'm puzzled as to why I don't find it in the Index of Components [http://gambaswiki.org/wiki/comp]. > > > It is Fabien who hid it, perhaps he is ashamed :-P for sure ! > :-D > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Fabien Bodard Gambas Basic : http://gambas.sf.net GambasForge : http://www.gambasforge.org NEW discourse Gambas Forum : https://gambas.discourse.group/ From g4mba5 at gmail.com Sun Apr 5 13:06:30 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 5 Apr 2020 13:06:30 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> Message-ID: Le 05/04/2020 ? 10:44, Christof Thalhofer a ?crit?: > Am 03.04.20 um 01:30 schrieb Tobias Boege: > >> Christof has reminded me what the critical points are: >> >> On Thu, 02 Apr 2020, Christof Thalhofer wrote: >>> ---------------------------------------------------------------- >>> 1) Assert is now in gb.test.tap and not in gb.test. But this makes no >>> sense because asserts must not be associated to the output format. In >>> addition the flow of testing and assertions cannot be debugged inside >>> gb.test any more. >>> >> >> I agree with this. gb.test must contain the Assert module which provides >> "high-level" assertions like comparing strings and printing diagnostics >> when the test fails ("expected this string but got that string"). >> >> But gb.test.tap should still export a *minimal* Assert module that just >> contains Ok, Diag, BailOut, Todo, Skip and Subtest functionality. >> gb.test builds its assertions on top of these primitives by extending >> the Assert module. This allows TAP to be switched out for another format >> as long as the other format's Assert module provides the above primitives. >> >> I think Beno?t also suggested something along those lines, so we agree. >> D'accord? > > The more i think of it my doubts grow. > > The test system core must have to be able to test itself to ensure it's > reliability. Are "Ok, Diag, BailOut, Todo, Skip and Subtest" not > essential parts of this core? > > If one of them swallows things this is as bad as if an assertion does > something wrong. > > I would like it better if the test system is reliable in itself and > spits out its results in the form of TAP (as transport format). > > If we do the separation for fictional Gui, CVS, Log ... why can't they > take TAP and convert it into their special output format? > > Why should they have to provide essential parts of the test system as > interfaces? > > > Alles Gute > > Christof Thalhofer > You can use TAP as an interface: i.e., instead of relying on public method names, you rely on a text format. There is nothing wrong with that. Except if there is something missing in the TAP format. -- Beno?t Minisini From chrisml at deganius.de Sun Apr 5 13:18:48 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 5 Apr 2020 13:18:48 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> Message-ID: <3b4b9cb3-289c-4f0f-8b7f-929fe12c7642@deganius.de> Am 05.04.20 um 13:06 schrieb Beno?t Minisini: > You can use TAP as an interface: i.e., instead of relying on public > method names, you rely on a text format. There is nothing wrong with > that. Except if there is something missing in the TAP format. This i would prefer and this was, what the old gb.test offered. If someone wants to transport pictures or videos via the test system maybe TAP would be the wrong format. But if someone wants to do that with a test system he/she should write it's own. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From bagonergi at gmail.com Sun Apr 5 14:57:02 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sun, 5 Apr 2020 14:57:02 +0200 Subject: [Gambas-user] gb.chart Documentation (was Size of Cake Chart in Chart.gb) In-Reply-To: References: <6754f512-160c-4808-cffb-aadb95313fdd@gmx.li> <5d8e00db-ecff-eea7-9ca3-e7e9d6dd51cf@gmail.com> <37330d54-f3e6-f798-457e-9c8b27b7d1c2@gmail.com> Message-ID: Il giorno dom 5 apr 2020 alle ore 11:40 Fabien Bodard ha scritto: > > for sure ! > LOL ... There are people waiting for gb.chart2, remember? https://gitlab.com/gambas/gambas/-/commit/301d5e23844463bc91633bd47c6d8bc44c3cef52 ;-D Ciao Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Sun Apr 5 19:24:22 2020 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 5 Apr 2020 19:24:22 +0200 Subject: [Gambas-user] gb.chart Documentation (was Size of Cake Chart in Chart.gb) In-Reply-To: References: <6754f512-160c-4808-cffb-aadb95313fdd@gmx.li> <5d8e00db-ecff-eea7-9ca3-e7e9d6dd51cf@gmail.com> <37330d54-f3e6-f798-457e-9c8b27b7d1c2@gmail.com> Message-ID: Le dim. 5 avr. 2020 ? 14:58, Gianluigi a ?crit : > > > > Il giorno dom 5 apr 2020 alle ore 11:40 Fabien Bodard ha scritto: >> >> >> for sure ! > > > LOL > ... > There are people waiting for gb.chart2, remember? > https://gitlab.com/gambas/gambas/-/commit/301d5e23844463bc91633bd47c6d8bc44c3cef52 I do :-/. > > ;-D > > Ciao > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Fabien Bodard Gambas Basic : http://gambas.sf.net GambasForge : http://www.gambasforge.org NEW discourse Gambas Forum : https://gambas.discourse.group/ From taboege at gmail.com Sun Apr 5 19:48:13 2020 From: taboege at gmail.com (Tobias Boege) Date: Sun, 5 Apr 2020 19:48:13 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> Message-ID: <20200405174813.GT3605349@highrise.localdomain> On Sun, 05 Apr 2020, Christof Thalhofer wrote: > Am 03.04.20 um 01:30 schrieb Tobias Boege: > > > Christof has reminded me what the critical points are: > > > > On Thu, 02 Apr 2020, Christof Thalhofer wrote: > >> ---------------------------------------------------------------- > >> 1) Assert is now in gb.test.tap and not in gb.test. But this makes no > >> sense because asserts must not be associated to the output format. In > >> addition the flow of testing and assertions cannot be debugged inside > >> gb.test any more. > >> > > > > I agree with this. gb.test must contain the Assert module which provides > > "high-level" assertions like comparing strings and printing diagnostics > > when the test fails ("expected this string but got that string"). > > > > But gb.test.tap should still export a *minimal* Assert module that just > > contains Ok, Diag, BailOut, Todo, Skip and Subtest functionality. > > gb.test builds its assertions on top of these primitives by extending > > the Assert module. This allows TAP to be switched out for another format > > as long as the other format's Assert module provides the above primitives. > > > > I think Beno?t also suggested something along those lines, so we agree. > > D'accord? > > The more i think of it my doubts grow. > > The test system core must have to be able to test itself to ensure it's > reliability. Are "Ok, Diag, BailOut, Todo, Skip and Subtest" not > essential parts of this core? > > If one of them swallows things this is as bad as if an assertion does > something wrong. > > I would like it better if the test system is reliable in itself and > spits out its results in the form of TAP (as transport format). > > If we do the separation for fictional Gui, CVS, Log ... why can't they > take TAP and convert it into their special output format? > I have absolutely no problem with committing to the TAP format, quite the opposite. IIRC allowing CSV, JUnit XML or writing directly to syslog were just things we noticed fell out of the separation. Nobody, including me, had plans to use that flexibility, and compatibility of the interface has never been thought about. The GUI part in the IDE has always been based on reading TAP in my mind because that is what'll be available in v3.15. That gb.test.tap is a separate component implies that it can't test itself, but it can be tested using gb.test like every other component. The self-tests of gb.test exercise gb.test.tap in conjunction with gb.test, too, and they show failures, don't they? Why I object to including gb.test.tap into gb.test is: - I want to make gb.test into a "system-level" component which is loaded automatically by the interpreter when the project is run in "test mode" (and otherwise not normally used). gb.test's Main() takes over the command-line arguments (which describe which tests to run) and calls into specific parts of the host project. Sort of like gb.httpd. The reason for this is that some form of tighter coupling with the runtime is *needed*: tests have already become special kinds of classes which, in the future, need to be available in one context (test mode), but more often not. And since gb.test is part of the official Gambas source tree now and has the right name, we might as well elevate its status to *the* thing that the interpreter gives the scepter to when "test mode" is requested. The classes in gb.test are never directly used by any project. They have to be loaded only when someone from the outside says "I want to execute the tests in this project" and gb.test controls how that is done from inside the process that is running the project. - gb.test.tap is an application-level component. It is a general implementation of TAP. It is used by test code to print TAP and it is used by the IDE and gbt3 to read TAP coming out of the test process. It can be used in all applications written in Gambas that need to read and/or write TAP. None of these applications have to do with administering and running tests in the current Gambas project, which is what gb.test specializes in. You see, from the aesthetical viewpoint that you have critized before, I am well aware, the merging of gb.test.tap into gb.test is like merging the CGI class into gb.httpd. Now, you can attack this viewpoint from multiple angles: it starts with the premise that gb.test should become a system component at all -- it can be done differently for sure. An early version of test mode was `gbx3 -s UnitTest` which works even if tests are not becoming an explicit concern of the runtime. Beno?t would have an opinion on this. Maybe he even thinks that system components are just a necessary evil sometimes and we shouldn't do that here. You can also say that nobody would care if they import a framework that can run tests in the current Gambas project when they really just want to create a script that parses some TAP from a C++ program. Importing stuff you don't need is quite common with components after all, and the test running parts don't even have to be exported. A balance has to be found. By merging gb.test.tap into gb.test you are implying the last argument above, that it is fine that gbt3 and the IDE will depend on gb.test for parsing TAP and pull in classes that are never used during normal operation. But I haven't seen you explicitly argue this way because you seem to be focused on the integrity of gb.test's source code and not the whole picture of testing all around Gambas. That the decision to merge TAP into gb.test is a trade-off doesn't become apparent until you need TAP processors in multiple parties involved in the testing. What I have sketched in my flowchart came from adapting the TAP-based testing architecture in Perl to the constraints and abilities of Gambas, what I perceived to be solutions familiar in Gambas, like the system component concept which seems natural when .test becomes a recognized file type all over compiler, interpreter, archiver and IDE, and gb.test becomes the interpreter's extended arm for testing concerns. You said you dislike the basic idea of my flowchart, which is the basis of all the work I have done and intended to do. (Contrary to what it may seem like, I'm not just going around changing working components with no bigger plan!) Some code I wrote can be incorporated into the final testing system but there is no bad blood if it's all going to be thrown away. So I ask which parts of the flowchart would you change and into what provided that you can only zoom further out (i.e. consider the interplay of *more* things, not less)? Change all mentions of "gb.test.tap" into "gb.test", meaning that they are merged? I'm not categorically opposed to this, see the counterarguments after my list of objections above! It would be a fairly simple thing to do. But I think it is important that we're arguing all pros and cons from the same zoom level. Pros: - Everything in one place. Easier to debug. Cons: - Adds dead code to everything that wants to use TAP. Neutral: - Ties gb.test to the TAP output format. Arguments I don't understand: - Allows gb.test to do accounting in the test process while running. --> What is this good for? And gb.test.tap could expose this, too. - Makes TAP printing testable in the first place. --> gb.test.tap can be tested like everything else. gb.test's self- tests also test compatibility of gb.test.tap with gb.test. Anything I missed? Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From taboege at gmail.com Sun Apr 5 20:16:28 2020 From: taboege at gmail.com (Tobias Boege) Date: Sun, 5 Apr 2020 20:16:28 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200405174813.GT3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> Message-ID: <20200405181628.GU3605349@highrise.localdomain> On Sun, 05 Apr 2020, Tobias Boege wrote: > Pros: > - Everything in one place. Easier to debug. > > Cons: > - Adds dead code to everything that wants to use TAP. > > Neutral: > - Ties gb.test to the TAP output format. > > Arguments I don't understand: > - Allows gb.test to do accounting in the test process while running. > --> What is this good for? And gb.test.tap could expose this, too. > > - Makes TAP printing testable in the first place. > --> gb.test.tap can be tested like everything else. gb.test's self- > tests also test compatibility of gb.test.tap with gb.test. > PS: Since we are three people, we can have a decisive majority vote, that would even decide with an incontestable 2/3 majority :-) I feel like I made my case sufficiently clear and there is no outcome that would drive me away from the project. Since two of three votes appear to be cast, it would boil down to Beno?t making a decision, as was proposed earlier. I don't know if he wants to do this, though. Just saying I'd be fine with that method. Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From chrisml at deganius.de Sun Apr 5 21:57:18 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 5 Apr 2020 21:57:18 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200405174813.GT3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> Message-ID: <0fac8e64-8224-c2da-8855-1742db6542fd@deganius.de> Am 05.04.20 um 19:48 schrieb Tobias Boege: > By merging gb.test.tap into gb.test you are implying the last argument > above, that it is fine that gbt3 and the IDE will depend on gb.test > for parsing TAP and pull in classes that are never used during normal > operation. But I haven't seen you explicitly argue this way because > you seem to be focused on the integrity of gb.test's source code and > not the whole picture of testing all around Gambas. That the decision > to merge TAP into gb.test is a trade-off doesn't become apparent until > you need TAP processors in multiple parties involved in the testing. No. I quickly answer to this assumption, because it is wrong. TLDR; gb.test should never parse TAP. That's your idea and it is the cause of all the difficulties we face now. ----- My last thoughts were to just merge the assertions, the tracking functionality and the TAP printer from gb.test.tap into gb.test and let gb.test print TAP for each assertion and optionally a summary at the end as TAP comment. Just as it was before, but the assertions and TAP printing replaced by your creations. Your assertions are more extensive, you integrated Skip and Todo and you also created subtests. TAP parsing in my opinion should never be in gb.test! Never!!! TAP parsing has nothing to do with testing code, but with the presentation and interpretation of the result. This is a completely different playing field. This is the separation i like and i think is useful and neccessary. That gb.test.tap currently contains the functionality for printing *and* parsing was your idea as you started writing code for TAP shortly after i introduced gb.test and suggested TAP as output format in 2016. After you have spoken very much for TAP, I have integrated a small and not very elaborated TAP printer into gb.test. You hold on to this idea (one component for printing and parsing) with astonishing energy, but IMO it is wrong. It weakens gb.test because essential functionality of testing code is separated into a component and can hardly be tested and debugged. You want to rip gb.test into two pieces and that's bad. I will always resist against that. I am also tired of repeating the same stuff over and over again. But: Testing is an essential thing for Gambas' future, so we have to work on the details and discuss all aspects of it. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Sun Apr 5 22:13:47 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 5 Apr 2020 22:13:47 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200405181628.GU3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> <20200405181628.GU3605349@highrise.localdomain> Message-ID: Dear Tobi, attention, please see my remarks as factual and not personal, when I say that an idea of yours is the reason for something. I find it wonderful to discuss with you and I appreciate your way of looking at things very much! Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Mon Apr 6 09:57:05 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Mon, 6 Apr 2020 09:57:05 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200405181628.GU3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> <20200405181628.GU3605349@highrise.localdomain> Message-ID: <38ae8af5-e55f-0efd-22ae-27313d24d22f@deganius.de> Am 05.04.20 um 20:16 schrieb Tobias Boege: > PS: Since we are three people, we can have a decisive majority vote, > that would even decide with an incontestable 2/3 majority :-) I feel > like I made my case sufficiently clear and there is no outcome that > would drive me away from the project. The latter I was afraid of. ;-) Okay, I disagree with myself again, but I can also sign the last one. > Since two of three votes appear to be cast, it would boil down to > Beno?t making a decision, as was proposed earlier. I don't know if he > wants to do this, though. Just saying I'd be fine with that method. Haha, but we first have to discuss for half a year which the alternatives are, Beno?t has to decide between. :-) :-) :-) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Mon Apr 6 12:00:32 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Mon, 6 Apr 2020 12:00:32 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <38ae8af5-e55f-0efd-22ae-27313d24d22f@deganius.de> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> <20200405181628.GU3605349@highrise.localdomain> <38ae8af5-e55f-0efd-22ae-27313d24d22f@deganius.de> Message-ID: Am 06.04.20 um 09:57 schrieb Christof Thalhofer: > Haha, but we first have to discuss for half a year which the > alternatives are, Beno?t has to decide between. Ok, AFAICS we can boil this thing down into two alternatives: 1) gb.test as a monolith which tests a project, does accounting and prints TAP by itself. It tests its entire functionality by itself. It contains the printing and accounting functionality of current gb.test.tap. In this szenario gb.test.tap does TAP parsing, but independent of gb.test. TAP itself is the interface between the two. 2) gb.test tests a project, but depends on gb.test.tap, which provides the printing functionality and does accounting. gb.test and gb.test.tap share Assert as interface. gb.test's Assert inherits Assert from gb.test.tap which provides Ok, Diag, Skip, Todo and BailOut. gb.test.tap also does TAP parsing. Right? Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From taboege at gmail.com Mon Apr 6 12:23:38 2020 From: taboege at gmail.com (Tobias Boege) Date: Mon, 6 Apr 2020 12:23:38 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> <20200405181628.GU3605349@highrise.localdomain> <38ae8af5-e55f-0efd-22ae-27313d24d22f@deganius.de> Message-ID: <20200406102338.GW3605349@highrise.localdomain> On Mon, 06 Apr 2020, Christof Thalhofer wrote: > Am 06.04.20 um 09:57 schrieb Christof Thalhofer: > > > Haha, but we first have to discuss for half a year which the > > alternatives are, Beno?t has to decide between. > > Ok, AFAICS we can boil this thing down into two alternatives: > > 1) gb.test as a monolith which tests a project, does accounting and > prints TAP by itself. It tests its entire functionality by itself. It > contains the printing and accounting functionality of current > gb.test.tap. In this szenario gb.test.tap does TAP parsing, but > independent of gb.test. TAP itself is the interface between the two. > > 2) gb.test tests a project, but depends on gb.test.tap, which provides > the printing functionality and does accounting. gb.test and gb.test.tap > share Assert as interface. gb.test's Assert inherits Assert from > gb.test.tap which provides Ok, Diag, Skip, Todo and BailOut. gb.test.tap > also does TAP parsing. > > Right? > Yes. -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From pierre.deswysen at gmail.com Mon Apr 6 13:51:34 2020 From: pierre.deswysen at gmail.com (Pierre Deswysen) Date: Mon, 6 Apr 2020 13:51:34 +0200 Subject: [Gambas-user] Question about gambas and raspberry Message-ID: Hello, I discover Gambas, which I haven't used for a few years. I use the pigpio library. Installation and use ok following example here : https://elinux.org/RPi_GPIO_Code_Samples#Gambas_with_pigpio I have a problem because I don't know how to read a GPIO entry without using a button. I have this function > *Public Sub Counter1()* > *Print "counter"**gpioSetMode(PinButton1, InputPin)* > > *Do* > > * If gpioRead(PinButton1) = 0 Then* > * Button1CounterValue = Button1CounterValue + 1* > * Print CounterValueButton1* > * ValueBox1.Value = ValueCounterButton1* > * Wait 1* > * Endif* > > *Loop* > *End* I'm running this function in : *Public Sub Form_Open()* > *End* But gambas don't... I'm thinking of an endless loop problem Thank you in advance for your advice Pierre -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Mon Apr 6 14:02:20 2020 From: taboege at gmail.com (Tobias Boege) Date: Mon, 6 Apr 2020 14:02:20 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> <20200405181628.GU3605349@highrise.localdomain> <38ae8af5-e55f-0efd-22ae-27313d24d22f@deganius.de> Message-ID: <20200406120220.GX3605349@highrise.localdomain> On Mon, 06 Apr 2020, Christof Thalhofer wrote: > Am 06.04.20 um 09:57 schrieb Christof Thalhofer: > > > Haha, but we first have to discuss for half a year which the > > alternatives are, Beno?t has to decide between. > > Ok, AFAICS we can boil this thing down into two alternatives: > > 1) gb.test as a monolith which tests a project, does accounting and > prints TAP by itself. It tests its entire functionality by itself. It > contains the printing and accounting functionality of current > gb.test.tap. In this szenario gb.test.tap does TAP parsing, but > independent of gb.test. TAP itself is the interface between the two. > > 2) gb.test tests a project, but depends on gb.test.tap, which provides > the printing functionality and does accounting. gb.test and gb.test.tap > share Assert as interface. gb.test's Assert inherits Assert from > gb.test.tap which provides Ok, Diag, Skip, Todo and BailOut. gb.test.tap > also does TAP parsing. > Christof and I had another talk and present a third option that we're both content with: 3) gb.test.tap keeps printing and parsing classes so it remains a complete implementation of TAP. The printing classes are *symlinked* into gb.test for integrity. The Assert class moves into gb.test. Beno?t: As I recall the IDE supports symlinked source files already, so it seems like a solution that is endorsed by you too, right? Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From g4mba5 at gmail.com Mon Apr 6 14:19:01 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 6 Apr 2020 14:19:01 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <20200406120220.GX3605349@highrise.localdomain> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> <20200405181628.GU3605349@highrise.localdomain> <38ae8af5-e55f-0efd-22ae-27313d24d22f@deganius.de> <20200406120220.GX3605349@highrise.localdomain> Message-ID: <93cff332-e9fb-da4a-411e-f3c3f881963e@gmail.com> Le 06/04/2020 ? 14:02, Tobias Boege a ?crit?: > On Mon, 06 Apr 2020, Christof Thalhofer wrote: >> Am 06.04.20 um 09:57 schrieb Christof Thalhofer: >> >>> Haha, but we first have to discuss for half a year which the >>> alternatives are, Beno?t has to decide between. >> >> Ok, AFAICS we can boil this thing down into two alternatives: >> >> 1) gb.test as a monolith which tests a project, does accounting and >> prints TAP by itself. It tests its entire functionality by itself. It >> contains the printing and accounting functionality of current >> gb.test.tap. In this szenario gb.test.tap does TAP parsing, but >> independent of gb.test. TAP itself is the interface between the two. >> >> 2) gb.test tests a project, but depends on gb.test.tap, which provides >> the printing functionality and does accounting. gb.test and gb.test.tap >> share Assert as interface. gb.test's Assert inherits Assert from >> gb.test.tap which provides Ok, Diag, Skip, Todo and BailOut. gb.test.tap >> also does TAP parsing. >> > > Christof and I had another talk and present a third option that > we're both content with: > > 3) gb.test.tap keeps printing and parsing classes so it remains > a complete implementation of TAP. The printing classes are > *symlinked* into gb.test for integrity. The Assert class moves > into gb.test. > > Beno?t: As I recall the IDE supports symlinked source files already, > so it seems like a solution that is endorsed by you too, right? > > Regards, > Tobias > Yes. Anyway, maybe I should point before that you don't have to make -two- components. Splitting things into components is really mandatory when the components depend directly or indirectly on specific shared libraries, and so on specific binary packages. But as soon as everything is written in Gambas and depends on no specific component, you can put everything in the same project, while keeping the separation between the 'gb.test' code and the 'gb.test.tap' code. Regards, -- Beno?t Minisini From t.lee.davidson at gmail.com Mon Apr 6 15:48:04 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 6 Apr 2020 09:48:04 -0400 Subject: [Gambas-user] Question about gambas and raspberry In-Reply-To: References: Message-ID: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> On 4/6/20 7:51 AM, Pierre Deswysen wrote: > Hello, > > I discover Gambas, which I haven't used for a few years. > > I use the pigpio library. > Installation and use ok following example here : > https://elinux.org/RPi_GPIO_Code_Samples#Gambas_with_pigpio > > I have a problem because I don't know how to read a GPIO entry without using a button. > > > I have this function > > /Public Sub Counter1() > //Print "counter" > //gpioSetMode(PinButton1, InputPin)/ > /Do > // > //? If gpioRead(PinButton1) = 0 Then > //? ? Button1CounterValue = Button1CounterValue + 1 > //? ? ?Print CounterValueButton1 > //?ValueBox1.Value = ValueCounterButton1 > //? ? Wait 1 > //? Endif > // > //Loop > / > /End/ > > > I'm running this function in : > > /Public Sub Form_Open()// > //End/ > > > But gambas don't... > I'm thinking of an endless loop problem > > Thank you in advance for your advice > > Pierre It is difficult to determine what may be happening especially since you use *three different* variables in the Do loop: Button1CounterValue = Button1CounterValue + 1 Print CounterValueButton1 ValueBox1.Value = ValueCounterButton1 First, you increment Button1CounterValue. Then, you print CounterValueButton1; a different variable. Finally, you assign the value of ValueCounterButton1; yet another different variable. And, the example you linked to does not have any of that. Could you perhaps send a complete example project so we can better see what the overall environment is? -- Lee From pierre.deswysen at gmail.com Mon Apr 6 17:17:11 2020 From: pierre.deswysen at gmail.com (Pierre Deswysen) Date: Mon, 6 Apr 2020 17:17:11 +0200 Subject: [Gambas-user] Question about gambas and raspberry In-Reply-To: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> Message-ID: Thank you very much for your help, with the timer it's solved. Thanks to Roberto I don't need to send you an example. Thanks to T Lee Davidson Glad that list is still alive and well. The forum in french not active ? Le lun. 6 avr. 2020 ? 15:49, T Lee Davidson a ?crit : > On 4/6/20 7:51 AM, Pierre Deswysen wrote: > > Hello, > > > > I discover Gambas, which I haven't used for a few years. > > > > I use the pigpio library. > > Installation and use ok following example here : > > https://elinux.org/RPi_GPIO_Code_Samples#Gambas_with_pigpio > > > > I have a problem because I don't know how to read a GPIO entry without > using a button. > > > > > > I have this function > > > > /Public Sub Counter1() > > //Print "counter" > > //gpioSetMode(PinButton1, InputPin)/ > > /Do > > // > > // If gpioRead(PinButton1) = 0 Then > > // Button1CounterValue = Button1CounterValue + 1 > > // Print CounterValueButton1 > > // ValueBox1.Value = ValueCounterButton1 > > // Wait 1 > > // Endif > > // > > //Loop > > / > > /End/ > > > > > > I'm running this function in : > > > > /Public Sub Form_Open()// > > //End/ > > > > > > But gambas don't... > > I'm thinking of an endless loop problem > > > > Thank you in advance for your advice > > > > Pierre > > It is difficult to determine what may be happening especially since you > use *three different* variables in the Do loop: > Button1CounterValue = Button1CounterValue + 1 > Print CounterValueButton1 > ValueBox1.Value = ValueCounterButton1 > > First, you increment Button1CounterValue. > Then, you print CounterValueButton1; a different variable. > Finally, you assign the value of ValueCounterButton1; yet another > different variable. > > And, the example you linked to does not have any of that. Could you > perhaps send a complete example project so we can better see > what the overall environment is? > > > -- > Lee > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pebauer68 at gmail.com Mon Apr 6 19:00:00 2020 From: pebauer68 at gmail.com (Peter Bauer) Date: Mon, 6 Apr 2020 19:00:00 +0200 Subject: [Gambas-user] Gambas3 -V: Circular Ref Warning Message-ID: Hello, When I repeat gambas3 -V about 5 times, I get 2 times circular ref warning. Is this reproducible on your side ? $gambas3 -V 3.14.90 gbx3: warning: circular references detected: gbx3: 3 Process Best Regards, Peter Bauer -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Apr 6 20:55:32 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 6 Apr 2020 20:55:32 +0200 Subject: [Gambas-user] Gambas3 -V: Circular Ref Warning In-Reply-To: References: Message-ID: Le 06/04/2020 ? 19:00, Peter Bauer a ?crit?: > Hello, > When I repeat?gambas3 -V about 5 times, I get 2 times circular ref warning. > Is this reproducible?on your side ? > $gambas3 -V > 3.14.90 > gbx3: warning: circular references detected: > gbx3: ? ? 3 Process > > Best Regards, > Peter Bauer > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Are you using the last development version? -- Beno?t Minisini From gambas.fr at gmail.com Tue Apr 7 00:03:13 2020 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 7 Apr 2020 00:03:13 +0200 Subject: [Gambas-user] Question about gambas and raspberry In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> Message-ID: Le lun. 6 avr. 2020 ? 17:18, Pierre Deswysen a ?crit : > Thank you very much for your help, with the timer it's solved. > Thanks to Roberto > > I don't need to send you an example. > Thanks to T Lee Davidson > > > Glad that list is still alive and well. > The forum in french not active ? > > Does people still speaking french ? ;-) > > > Le lun. 6 avr. 2020 ? 15:49, T Lee Davidson a > ?crit : > >> On 4/6/20 7:51 AM, Pierre Deswysen wrote: >> > Hello, >> > >> > I discover Gambas, which I haven't used for a few years. >> > >> > I use the pigpio library. >> > Installation and use ok following example here : >> > https://elinux.org/RPi_GPIO_Code_Samples#Gambas_with_pigpio >> > >> > I have a problem because I don't know how to read a GPIO entry without >> using a button. >> > >> > >> > I have this function >> > >> > /Public Sub Counter1() >> > //Print "counter" >> > //gpioSetMode(PinButton1, InputPin)/ >> > /Do >> > // >> > // If gpioRead(PinButton1) = 0 Then >> > // Button1CounterValue = Button1CounterValue + 1 >> > // Print CounterValueButton1 >> > // ValueBox1.Value = ValueCounterButton1 >> > // Wait 1 >> > // Endif >> > // >> > //Loop >> > / >> > /End/ >> > >> > >> > I'm running this function in : >> > >> > /Public Sub Form_Open()// >> > //End/ >> > >> > >> > But gambas don't... >> > I'm thinking of an endless loop problem >> > >> > Thank you in advance for your advice >> > >> > Pierre >> >> It is difficult to determine what may be happening especially since you >> use *three different* variables in the Do loop: >> Button1CounterValue = Button1CounterValue + 1 >> Print CounterValueButton1 >> ValueBox1.Value = ValueCounterButton1 >> >> First, you increment Button1CounterValue. >> Then, you print CounterValueButton1; a different variable. >> Finally, you assign the value of ValueCounterButton1; yet another >> different variable. >> >> And, the example you linked to does not have any of that. Could you >> perhaps send a complete example project so we can better see >> what the overall environment is? >> >> >> -- >> Lee >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Tue Apr 7 00:12:30 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 7 Apr 2020 00:12:30 +0200 Subject: [Gambas-user] Question about gambas and raspberry In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> Message-ID: <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> Hello Fabien, Am 07.04.20 um 00:03 schrieb Fabien Bodard: > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Please excuse the interruption. As you quote it three times, did you ever read it? Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From herberthguzman at gmail.com Tue Apr 7 03:26:18 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Mon, 6 Apr 2020 19:26:18 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: El vie., 3 abr. 2020 a las 7:31, Jussi Lahtinen () escribi?: > >I think the answer to this question can be found easier from > https://www.freedesktop.org/wiki/ or similar. > >I don't see how this is gambas related question per se, but of course > people here can help implement things in gambas, when you figure out what > exactly to >do. > > Thanks so much for the help, I've already read about freedesktop, but it's > something different. > > Jussi > > On Thu, Apr 2, 2020 at 9:12 PM herberth guzman > wrote: > >> I honestly have no idea how to make a new system tray. >> >> I need help please. >> >> I need help creating a new system tray that supports 64-bit gb-qt5. >> >> El mi?., 1 abr. 2020 1:29 p. m., herberth guzman < >> herberthguzman at gmail.com> escribi?: >> >>> but there's no desktop! i mean we want to create a new systray area! how >>> to do? >>> >>> >>> >>>> XDG_CURRENT_DESKTOP environment variable. >>>> >>> set to a custom openbox in my case! no panel or systray area was starte >>> i want to start by myselft! >>> >>> El mi?., 1 abr. 2020 a las 13:24, herberth guzman (< >>> herberthguzman at gmail.com>) escribi?: >>> >>>> >>>> >>>> El mi?., 1 abr. 2020 a las 13:23, herberth guzman (< >>>> herberthguzman at gmail.com>) escribi?: >>>> >>>>> New Systray >>>>> Fabien helped me with this example >>>>> but I'm still in trouble. >>>>> >>>>> Private $hTrayIcons As New TrayIcon[] >>>>> >>>>> Public Sub Form_Open() >>>>> >>>>> Dim a As String[] >>>>> Dim s As String >>>>> Dim sIcon As String >>>>> Dim hTray As TrayIcon >>>>> Dim vIconPixmap As Variant >>>>> Dim i As Integer >>>>> Dim ii As Integer >>>>> Dim hbut As New Button(Me) >>>>> DBus.Debug = True >>>>> >>>>> a = DBus["org.kde.StatusNotifierWatcher"]["/StatusNotifierWatcher", >>>>> "org.kde.StatusNotifierWatcher"].RegisteredStatusNotifierItems >>>>> >>>>> For Each s In a >>>>> >>>>> 'sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >>>>> "org.kde.StatusNotifierItem"].IconThemePath >>>>> hTray = New TrayIcon >>>>> hTray.Name = s >>>>> hbut.Text = s >>>>> 'Print DBus[File.Dir(s)]["/" & File.Name(s), >>>>> "org.kde.StatusNotifierItem"].OverlayIconName >>>>> sIcon = DBus[File.Dir(s)]["/" & File.Name(s), >>>>> "org.kde.StatusNotifierItem"].IconName >>>>> hTray.IconName = sIcon >>>>> >>>>> ' Print sIcon >>>>> ' Print hTray.IconName >>>>> vIconPixmap = DBus[File.Dir(s)]["/" & File.Name(s), >>>>> "org.kde.StatusNotifierItem"].IconPixmap >>>>> If vIconPixmap Then >>>>> Try hTray.Icon = GetPictureFromAVariant(vIconPixmap) >>>>> Endif >>>>> >>>>> $hTrayIcons.Add(hTray) >>>>> >>>>> For ii = 0 To $hTrayIcons.Max >>>>> hbut.H = 48 >>>>> hbut.w = 48 >>>>> hbut.Picture = $hTrayIcons[i].GetIcon(32) >>>>> >>>>> Next >>>>> ' Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >>>>> >>>>> >>>>> Next >>>>> >>>>> DrawingArea1.Refresh >>>>> >>>>> 'Me.Picture = hDBusPixmap.GetPicture() >>>>> End >>>>> >>>>> Private Sub GetPictureFromAVariant(hValue As Variant[]) As Picture >>>>> >>>>> Dim H, W As Integer >>>>> Dim hData As Byte[] >>>>> Dim hFile As File >>>>> Dim hPic As Image >>>>> >>>>> W = hValue[0][0] >>>>> H = hValue[0][1] >>>>> hData = hValue[0][2] >>>>> >>>>> hPic = New Image(W, H, Color.Transparent) >>>>> hPic.Format = "ARGB" >>>>> hFile = Memory hPic.Data For Write >>>>> hData.Write(hFile) >>>>> hFile.Close >>>>> Return hPic.picture >>>>> >>>>> End >>>>> >>>>> Public Sub DrawingArea1_Draw() >>>>> >>>>> Dim i As Integer >>>>> >>>>> For i = 0 To $hTrayIcons.Max >>>>> Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5) >>>>> Next >>>>> >>>>> End >>>>> >>>>> [System] >>>>> Gambas=3.14.90 0714bf7 (master) >>>>> OperatingSystem=Linux >>>>> Kernel=5.4.0-18-generic >>>>> Architecture=x86_64 >>>>> Distribution=Ubuntu Focal Fossa (development branch) >>>>> Desktop=INNOVA >>>>> Theme=Fusion >>>>> Language=es_GT.UTF-8 >>>>> Memory=3735M >>>>> >>>>> [Libraries] >>>>> Cairo=libcairo.so.2.11600.0 >>>>> Curl=libcurl.so.4.6.0 >>>>> DBus=libdbus-1.so.3.19.11 >>>>> GStreamer=libgstreamer-1.0.so.0.1602.0 >>>>> GTK+2=libgtk-x11-2.0.so.0.2400.32 >>>>> GTK+3=libgtk-3.so.0.2404.10 >>>>> OpenGL=libGL.so.1.7.0 >>>>> Poppler=libpoppler.so.95.0.0 >>>>> Poppler=libpoppler.so.97.0.0 >>>>> QT5=libQt5Core.so.5.12.5 >>>>> SDL=libSDL-1.2.so.0.11.4 >>>>> SQLite=libsqlite3.so.0.8.6 >>>>> >>>>> [Environment] >>>>> CLUTTER_IM_MODULE=ibus >>>>> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus >>>>> DESKTOP_SESSION=Innova >>>>> DISPLAY=:0 >>>>> GB_GUI=gb.qt5 >>>>> GDMSESSION=Innova >>>>> GNOME_DESKTOP_SESSION_ID=this-is-deprecated >>>>> GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 >>>>> GTK_IM_MODULE=ibus >>>>> GTK_MODULES=gail:atk-bridge >>>>> HOME= >>>>> LANG=es_GT.UTF-8 >>>>> LANGUAGE=es_GT.UTF-8 >>>>> LOGNAME= >>>>> >>>>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin >>>>> PWD= >>>>> QT4_IM_MODULE=ibus >>>>> QT_ACCESSIBILITY=1 >>>>> QT_IM_MODULE=ibus >>>>> QT_LOGGING_RULES=*.debug=false >>>>> >>>>> SESSION_MANAGER=local/:@/tmp/.ICE-unix/1740,unix/:/tmp/.ICE-unix/1740 >>>>> SHELL=/bin/bash >>>>> SHLVL=1 >>>>> SSH_AGENT_PID=1692 >>>>> SSH_AUTH_SOCK=/run/user/1000/keyring/ssh >>>>> TZ=:/etc/localtime >>>>> USER= >>>>> USERNAME= >>>>> WINDOWPATH=2 >>>>> XAUTHORITY=/run/user/1000/gdm/Xauthority >>>>> XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg/xdg-Innova:/etc/xdg >>>>> XDG_CONFIG_HOME=/.config >>>>> XDG_CURRENT_DESKTOP=Innova >>>>> >>>>> XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu-xdg/ >>>>> XDG_MENU_PREFIX=innova- >>>>> XDG_RUNTIME_DIR=/run/user/1000 >>>>> XDG_SEAT=seat0 >>>>> XDG_SESSION_CLASS=user >>>>> XDG_SESSION_DESKTOP=Innova >>>>> XDG_SESSION_ID=10 >>>>> XDG_SESSION_TYPE=x11 >>>>> XDG_VTNR=2 >>>>> XMODIFIERS=@im=ibus >>>>> >>>>> El mi?., 1 abr. 2020 a las 13:21, herberth guzman (< >>>>> herberthguzman at gmail.com>) escribi?: >>>>> >>>>>> X11 Classic >>>>>> gb-qt5 BAD >>>>>> gb-qt4 OK >>>>>> >>>>>> Public Sub _new() >>>>>> >>>>>> Shell "vlc" >>>>>> Shell "nm-applet" >>>>>> >>>>>> End >>>>>> >>>>>> Public Sub Form_Open() >>>>>> >>>>>> X11Systray.Show(dwgSystemTray.Handle) >>>>>> >>>>>> End >>>>>> >>>>>> Static Public Sub X11Systray_Arrange() >>>>>> >>>>>> FMain.ArrangeTray >>>>>> >>>>>> End >>>>>> >>>>>> Public Sub ArrangeTray() >>>>>> >>>>>> Dim I As Integer >>>>>> Dim X, Y, H As Integer >>>>>> >>>>>> Debug >>>>>> X = 2 >>>>>> Y = 2 >>>>>> For I = 0 To X11Systray.Count - 1 >>>>>> With X11Systray[I] >>>>>> Debug I;; .IconW;; .IconH >>>>>> If (X + .IconW) >= (Me.ClientW - 2) Then >>>>>> X = 2 >>>>>> Y += H + 2 >>>>>> H = 0 >>>>>> Endif >>>>>> .Move(X, Y, .IconW, .IconH) >>>>>> H = Max(H, .IconH) >>>>>> X += .IconW + 2 >>>>>> End With >>>>>> Next >>>>>> >>>>>> End >>>>>> >>>>>> Public Sub Form_Resize() >>>>>> >>>>>> ArrangeTray >>>>>> >>>>>> End >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> El mi?., 1 abr. 2020 a las 13:13, Beno?t Minisini () >>>>>> escribi?: >>>>>> >>>>>>> Le 01/04/2020 ? 21:05, herberth guzman a ?crit : >>>>>>> > >>>>>>> >>>What does not work exactly? >>>>>>> > >>>>>>> > I have a classic system tray (x11) >>>>>>> > with ubuntu 32 bits and gb-qt4 it works fine for me >>>>>>> > >>>>>>> > with ubuntu 64 bit and gb-qt5 it doesn't work >>>>>>> > does not show anything in the system tray >>>>>>> > >>>>>>> > Error: >>>>>>> > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP" >>>>>>> > FMain.ArrangeTray.28: >>>>>>> > >>>>>>> >>>>>>> If you don't give more details, I can't help. Which system? Which >>>>>>> desktop? How do you implement the system tray? Did you implement X11 >>>>>>> protocol, DBus protocol, both? And so on... >>>>>>> >>>>>>> -- >>>>>>> Beno?t Minisini >>>>>>> >>>>>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>>>>>> >>>>>> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From herberthguzman at gmail.com Tue Apr 7 03:32:58 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Mon, 6 Apr 2020 19:32:58 -0600 Subject: [Gambas-user] Help SystemTray gb-qt5 64 bits In-Reply-To: References: <4fd593d6-7cbc-7f27-2545-9f2bd5836e24@gmail.com> <088deb9d-e1be-19a1-59fa-679b2e759a52@gmail.com> Message-ID: Thank you very much for your comments, unfortunately I do not have the knowledge to make the new system tray and I know that your support is in your spare time, knowing that you have something started and it is functional but it still lacks a lot, it gives me hope of being able follow the project in gambas3. Maybe Benoit makes some changes so that my system tray is a little easier to implement. I will be watching the progress of the new version. Soon I will be uploading the new versions of my projects to gambasfarm. Successes and blessings to all El vie., 3 abr. 2020 a las 7:16, Fabien Bodard () escribi?: > You need a new system tray panel that support the dbus protocol and the > old xtray.. I've made some test but it's a lot of work ... Too many for my > full planning :-) > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Tue Apr 7 07:57:42 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 7 Apr 2020 07:57:42 +0200 Subject: [Gambas-user] Coming back to gb.test In-Reply-To: <93cff332-e9fb-da4a-411e-f3c3f881963e@gmail.com> References: <20200402233001.GL3605349@highrise.localdomain> <8ffae4aa-8397-d9d2-c56a-35d21e41c470@deganius.de> <20200405174813.GT3605349@highrise.localdomain> <20200405181628.GU3605349@highrise.localdomain> <38ae8af5-e55f-0efd-22ae-27313d24d22f@deganius.de> <20200406120220.GX3605349@highrise.localdomain> <93cff332-e9fb-da4a-411e-f3c3f881963e@gmail.com> Message-ID: <56d49a20-6d7d-fe5a-82c1-fd1a0df970d0@deganius.de> Am 06.04.20 um 14:19 schrieb Beno?t Minisini: > Yes. ... > But as soon as everything is written in Gambas and depends on no > specific component, you can put everything in the same project, while > keeping the separation between the 'gb.test' code and the 'gb.test.tap' > code. Ok, we'll do that. Thank you! Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From yrodas at upnfm.edu.hn Tue Apr 7 11:27:51 2020 From: yrodas at upnfm.edu.hn (Yeshua Rodas) Date: Tue, 7 Apr 2020 03:27:51 -0600 Subject: [Gambas-user] Succesful multiple Insert return a failed Result Message-ID: Hello people. I'm having an issue working with SQLite. I have a particular function for insert a batch of data and return the number of affected rows: Public Function myInsert() as Integer ' I have another function for create the connection, so Dim conn as Connection = getMyConnection() ' I prepare a SQL with multiple INSERT, like: Dim sQuery As String[] = [] sQuery.Push("INSERT INTO table (col1, col2, col3) VALUES (val11, val12, val13)") sQuery.Push("INSERT INTO table (col1, col2, col3) VALUES (val21, val22, val23)"); sQuery.Push("INSERT INTO table (col1, col2, col3) VALUES (val31, val32, val33)"); ' Since I have already a valid and opened connection, I just execute all my inserts in a single query call: conn.Begin() Dim insertResult As Result = conn.Exec(sQuery.Join(";")) conn.Commit() Return insertResult.Count Catch conn.Rollback() Return -1 End So, what I expect is that my function returns 3 and sees those 3 rows on my table. However, what I'm getting is, on the table, the 3 inserted rows; but on other hand, the "Catch" part is executed, returning my function -1 value. I executed my program with a breakpoint just on "conn.Begin()" call to see what is happening, and found that insertResult has the property Available as False, and the Count as 0. Also, instead of returning the 0 from insertResult, as I said, the Catch part is executed, BUT the 3 inserted rows remain on the database. I'm getting a bit confused with that. Why could it be that if the Query is executed successfully, the Result is not? Should I reconsider to use the "Result way" via the Connection.Create() call? I try it. Public Function myInsert() as Integer ' I have another function for create the connection, so Dim conn as Connection = getMyConnection() ' I prepare a SQL with multiple INSERT, like: Dim data as Collection[] = [] data.Push(["col1": val11, "col2": val12, "col3": val13]) data.Push(["col1": val21, "col2": val22, "col3": val23]) data.Push(["col1": val31, "col2": val32, "col3": val33]) conn.Begin() Dim insertResult As Result = conn.Create("table") For Each coll as Collection in data For Each val as Variant in coll insertResult[data.Key] = val Next insertResult.Update() Next conn.Commit() Return insertResult.Count Catch conn.Rollback() Return -1 End By this approach the function returns 1. However, I think that this is calling an INSERT CALL for each iteration. With 3 rows its OK, but what if I have 10000 rows to insert? Can be the performance down by that way instead of a single .Exec() call? Or doesn't matter since it is inside a transaction? Why the .Count property does not change? Thank you all for your time and answers. :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Apr 7 14:10:11 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 7 Apr 2020 14:10:11 +0200 Subject: [Gambas-user] Succesful multiple Insert return a failed Result In-Reply-To: References: Message-ID: <9eafaa0d-8e37-6867-748f-cf6d8d7f99d1@gmail.com> Le 07/04/2020 ? 11:27, Yeshua Rodas a ?crit?: > Hello people. > > I'm having an issue working with SQLite. > > I have a particular function for insert a batch of data and return the > number of affected rows: > > Public Function myInsert() as Integer > ' I have another function for create the connection, so > Dim conn as Connection = getMyConnection() > > ' I prepare a SQL with multiple INSERT, like: > > Dim sQuery As String[] = [] > sQuery.Push("INSERT INTO table (col1, col2, col3) VALUES (val11, val12, > val13)") > sQuery.Push("INSERT INTO table (col1, col2, col3) VALUES (val21, val22, > val23)"); > sQuery.Push("INSERT INTO table (col1, col2, col3) VALUES (val31, val32, > val33)"); > > ' Since I have already a valid and opened connection, I just execute all > my inserts in a single query call: > > conn.Begin() > Dim insertResult As Result = conn.Exec(sQuery.Join(";")) > conn.Commit() > > Return insertResult.Count > > Catch > ? conn.Rollback() > ? Return -1 > > End > > So, what I expect is that my function returns 3 and sees those 3 rows on > my table. However, what I'm getting is, on the table, the 3 inserted > rows; but on other hand, the "Catch" part is executed, returning my > function -1 value. > I executed my program with a breakpoint just on "conn.Begin()" call to > see what is happening, and found that insertResult has the property > Available as False, and the Count as 0. > Also, instead of returning the 0 from insertResult, as I said, the Catch > part is executed, BUT the 3 inserted rows remain on the database. > > I'm getting a bit confused with that. > Why could it be that if the Query is executed successfully, the Result > is not? > > Should I reconsider to use the "Result way" via the Connection.Create() > call? > > I try it. > > Public Function myInsert() as Integer > ' I have another function for create the connection, so > Dim conn as Connection = getMyConnection() > > ' I prepare a SQL with multiple INSERT, like: > > Dim data as Collection[] = [] > data.Push(["col1": val11, "col2": val12, "col3": val13]) > data.Push(["col1": val21, "col2": val22, "col3": val23]) > data.Push(["col1": val31, "col2": val32, "col3": val33]) > > conn.Begin() > Dim insertResult As Result = conn.Create("table") > For Each coll as Collection in data > ? For Each val as Variant in coll > ??? insertResult[data.Key] = val > ? Next > ? insertResult.Update() > Next > > conn.Commit() > > Return insertResult.Count > > Catch > ? conn.Rollback() > ? Return -1 > > End > > By this approach the function returns 1. However, I think that this is > calling an INSERT CALL for each iteration. With 3 rows its OK, but what > if I have 10000 rows to insert? Can be the performance down by that way > instead of a single .Exec() call? Or doesn't matter since it is inside a > transaction? > Why the .Count property does not change? > > Thank you all for your time and answers. :) > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Only SELECT queries return a Result object. You don't have access to the number of inserted rows at the moment. Regards, -- Beno?t Minisini From bagonergi at gmail.com Tue Apr 7 15:53:13 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 7 Apr 2020 15:53:13 +0200 Subject: [Gambas-user] Segmentation error Message-ID: Hi Benoit, why if I try to open this farm project (*), which has always worked, now I can't and from the terminal I get a "Segmentation error"? Regards Gianluigi (*) seHelpBuilder 0.2.7 (#493) on 2018 in Examples [System] Gambas=3.14.90 3891af0 (master) OperatingSystem=Linux Kernel=4.15.0-96-generic Architecture=x86_64 Distribution=Ubuntu 18.04.4 LTS Desktop=UBUNTU:GNOME Theme=Fusion Language=it_IT.UTF-8 Memory=15968M -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Apr 7 16:21:23 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 7 Apr 2020 10:21:23 -0400 Subject: [Gambas-user] Succesful multiple Insert return a failed Result In-Reply-To: <9eafaa0d-8e37-6867-748f-cf6d8d7f99d1@gmail.com> References: <9eafaa0d-8e37-6867-748f-cf6d8d7f99d1@gmail.com> Message-ID: <46860b5e-3804-31f4-1c85-b13cc02b446e@gmail.com> On 4/7/20 8:10 AM, Beno?t Minisini wrote: > Le 07/04/2020 ? 11:27, Yeshua Rodas a ?crit?: >> Hello people. >> >> I'm having an issue working with SQLite. >> >> I have a particular function for insert a batch of data and return the number of affected rows: >> [snip]>> > > Only SELECT queries return a Result object. You don't have access to the number of inserted rows at the moment. > If you need the number of rows inserted, one way might be to: 1. Count the number of rows in the table before the operation, then 2. Count the number of rows in the table after the operation, and 3. Return the difference. -- Lee From bagonergi at gmail.com Tue Apr 7 16:54:50 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 7 Apr 2020 16:54:50 +0200 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: Il giorno mar 7 apr 2020 alle ore 16:35 Yahoo ha scritto: > Did you try to recompile it before start it, if happens if you gambas > version is more recent than this one used when posed in the Farm. > > Maybe it could help > Hi Olivier, How do I recompile if I can't open it? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Apr 7 17:02:05 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 7 Apr 2020 17:02:05 +0200 Subject: [Gambas-user] Succesful multiple Insert return a failed Result In-Reply-To: <46860b5e-3804-31f4-1c85-b13cc02b446e@gmail.com> References: <9eafaa0d-8e37-6867-748f-cf6d8d7f99d1@gmail.com> <46860b5e-3804-31f4-1c85-b13cc02b446e@gmail.com> Message-ID: Il giorno mar 7 apr 2020 alle ore 16:22 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > On 4/7/20 8:10 AM, Beno?t Minisini wrote: > > Le 07/04/2020 ? 11:27, Yeshua Rodas a ?crit : > >> Hello people. > >> > >> I'm having an issue working with SQLite. > >> > >> I have a particular function for insert a batch of data and return the > number of affected rows: > >> > [snip]>> > > > > Only SELECT queries return a Result object. You don't have access to the > number of inserted rows at the moment. > > > > If you need the number of rows inserted, one way might be to: > 1. Count the number of rows in the table before the operation, then > 2. Count the number of rows in the table after the operation, and > 3. Return the difference. > Maybe trying this... Create e new Database application and add a module named MBase in which you paste this code: ------------------------------------------- ' Gambas module file Public hConn As New Connection Public $nTotalNumber As Long Public $nNewNumber As Integer Private $nRecords As Integer Private $sNameDB As String = "Test.db" Private $sPathDB As String = "/tmp" Public Sub CheckDB() As Boolean If Not Exist($sPathDB) Then Return With hConn .Close() .Type = "sqlite3" .Host = $sPathDB .Open() If .Databases.Exist($sNameDB) Then .Databases.Remove($sNameDB) $nRecords = 99 .Databases.Add($sNameDB) .Close() .Name = $sNameDB .Open() MakeTable() InserBasicRecords() Print ("#Database successfully created!") .Close() End With Catch Message.Error(("Fatal error in ") & Error.Where & ("\nError number: ") & Error.Code & ("\nCause: ") & Error.Text, "OK") CloseDB() Return True End Public Sub OpenDB() With hConn .Close() .Type = "sqlite3" .Host = $sPathDB .Name = $sNameDB .Open() End With Catch CloseDB() Print Error.Text, Error.Code End Public Sub CloseDB() hConn.Close End Private Sub MakeTable() Dim hTable As Table = hConn.Tables.Add("tuser") hTable.Fields.Add("uskey", db.Serial) hTable.Fields.Add("usnam", db.String) hTable.Fields.Add("ussur", db.String) hTable.Fields.Add("usdat", db.Date) hTable.PrimaryKey = ["uskey"] hTable.Update Catch CloseDB() Print Error.Text, Error.Code End Private Sub InserBasicRecords() Dim nCasual, i, y, m, d As Integer Dim sName, sSurname As String Dim aFirstName As String[] = ["Binah", "Hanna", "Selassie", "Okpara", "Agustina", "Clema", "Coyan", "Eusebio", "Diego", "Alisha", "Daphne", "Wiley", "Valentine", "Lidwina", "Roxana", "Edmund", "Hildeger", "Adrianne", "Janette", "Quentin", "Sylvain", "Francesco", "Marco", "Aldina", "Ornella", "Carmencita", "Galena", "Florentino", "Rodrigo", "Benoit", "Mario"] Dim aLastName As String[] = ["Smith", "Johnson", "Williams", "Brown", "Martin", "Bernard", "Dubois", "Thomas", "Robert", "Richard", "M?ller", "Schmidt", "Schneider", "Fischer", "Weber", "Meyer", "Gunnarsson", "Garc?a", "Gonz?lez", "Rodr?guez", "Fern?ndez", "L?pez", "Mart?nez", "Jensen", "Nielsen", "Cohen", "Friedman", "Rossi", "Bianchi", "Minisini", "Verdone"] Dim hDate As Date Dim hResult As Result Randomize hConn.Begin() For i = 0 To $nRecords nCasual = Rand(0, 30) sName = aFirstName[nCasual] nCasual = Rand(0, 30) sSurname = aLastName[nCasual] y = Rand(1959, 2000) m = Rand(1, 12) d = Rand(1, 28) hDate = Date(y, m, d) hResult = hConn.Create("tuser") hResult!usnam = sName hResult!ussur = sSurname hResult!usdat = hDate hResult.Update Next hConn.Commit() $nTotalNumber = ReturnNumber() Catch CloseDB() Print Error.Text, Error.Code End Public Sub InsertNewRecords(sName As String, sSurname As String, hDate As Date) Dim hResult As Result Dim iOldTotalNumber As Long = $nTotalNumber hResult = hConn.Create("tuser") hResult!usnam = sName hResult!ussur = sSurname hResult!usdat = hDate hResult.Update If ReturnNumber() Then $nTotalNumber = ReturnNumber() $nNewNumber += $nTotalNumber - iOldTotalNumber ' ;-) here you can also just count the steps Endif End Private Function ReturnNumber() As Long Dim hResult As Result Dim i As Long hResult = hConn.Exec("SELECT MAX( uskey ) FROM tuser;") If hResult.Available Then If Not IsNull(hResult[0]) Then i = hResult[0] Return i Endif Endif Return Null End ----------------------------------------------------- This is the FMain.class code: ' Gambas class file Public hButton As Button Public Sub Form_Open() Dim hButton As New Button(Me) As "Button1" With hButton .X = 120 .Y = 120 .H = 100 .W = 200 .Text = "Click me" End With MBase.CheckDB() End Public Sub Button1_Click() ' Inserts three new records MBase.OpenDB() MBase.hConn.Begin() For i As Integer = 0 To 2 MBase.InsertNewRecords("Mame_" & CStr(i + 1), "Surname_" & CStr(i + 1), Date(Now)) Next MBase.hConn.Commit() ' Writes record numbers Print "The total records are "; MBase.$nTotalNumber; ", of which new "; MBase.$nNewNumber Catch MBase.hConn.Rollback() End -------------------------------------- Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Tue Apr 7 17:07:29 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:07:29 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: cd gbc3 -agt && gba3 -v -o yourexecutable.gambas Of course you need ?gbc3? and ?gba3? that come with Gambas IDE if I remember well Olivier Le 7 avril 2020 ? 10:55:07, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 16:35 Yahoo ha scritto: Did you try to recompile it before start it, if happens if you gambas version is more recent than this one used when posed in the Farm. Maybe it could help Hi Olivier, How do I recompile if I can't open it? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Tue Apr 7 17:07:29 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:07:29 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: cd gbc3 -agt && gba3 -v -o yourexecutable.gambas Of course you need ?gbc3? and ?gba3? that come with Gambas IDE if I remember well Olivier Le 7 avril 2020 ? 10:55:07, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 16:35 Yahoo ha scritto: Did you try to recompile it before start it, if happens if you gambas version is more recent than this one used when posed in the Farm. Maybe it could help Hi Olivier, How do I recompile if I can't open it? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Apr 7 17:10:12 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 7 Apr 2020 17:10:12 +0200 Subject: [Gambas-user] Succesful multiple Insert return a failed Result In-Reply-To: References: <9eafaa0d-8e37-6867-748f-cf6d8d7f99d1@gmail.com> <46860b5e-3804-31f4-1c85-b13cc02b446e@gmail.com> Message-ID: Il giorno mar 7 apr 2020 alle ore 17:02 Gianluigi ha scritto: > > > Il giorno mar 7 apr 2020 alle ore 16:22 T Lee Davidson < > t.lee.davidson at gmail.com> ha scritto: > >> On 4/7/20 8:10 AM, Beno?t Minisini wrote: >> > Le 07/04/2020 ? 11:27, Yeshua Rodas a ?crit : >> >> Hello people. >> >> >> >> I'm having an issue working with SQLite. >> >> >> >> I have a particular function for insert a batch of data and return the >> number of affected rows: >> >> >> [snip]>> >> > >> > Only SELECT queries return a Result object. You don't have access to >> the number of inserted rows at the moment. >> > >> >> If you need the number of rows inserted, one way might be to: >> 1. Count the number of rows in the table before the operation, then >> 2. Count the number of rows in the table after the operation, and >> 3. Return the difference. >> > > Maybe trying this... > > I forgot this code: MBase.CloseDB() after this in FMain.class: Print "The total records are "; MBase.$nTotalNumber; ", of which new "; MBase.$nNewNumber Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Apr 7 17:16:51 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 7 Apr 2020 17:16:51 +0200 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: Il giorno mar 7 apr 2020 alle ore 17:07 Yahoo ha scritto: > cd > gbc3 -agt && gba3 -v -o yourexecutable.gambas > > Of course you need ?gbc3? and ?gba3? that come with Gambas IDE if I > remember well > I have gbc3 and gba3 but I don't have the executable of project Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Tue Apr 7 17:20:04 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:20:04 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: yourexecutable.gambas ?==> is the executable that the compilator will produce for you, you can put the name you want Cordialement, ?? Olivier Cruilles Email: olivier.cruilles at yahoo.fr Le 7 avril 2020 ? 11:17:09, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 17:07 Yahoo ha scritto: cd gbc3 -agt && gba3 -v -o yourexecutable.gambas Of course you need ?gbc3? and ?gba3? that come with Gambas IDE if I remember well I have gbc3 and gba3 but I don't have the executable of project Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Tue Apr 7 17:20:04 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:20:04 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: yourexecutable.gambas ?==> is the executable that the compilator will produce for you, you can put the name you want Cordialement, ?? Olivier Cruilles Email: olivier.cruilles at yahoo.fr Le 7 avril 2020 ? 11:17:09, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 17:07 Yahoo ha scritto: cd gbc3 -agt && gba3 -v -o yourexecutable.gambas Of course you need ?gbc3? and ?gba3? that come with Gambas IDE if I remember well I have gbc3 and gba3 but I don't have the executable of project Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Apr 7 17:48:57 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 7 Apr 2020 17:48:57 +0200 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: Il giorno mar 7 apr 2020 alle ore 17:20 Yahoo ha scritto: > yourexecutable.gambas ==> is the executable that the compilator will >> produce for you, you can put the name you want >> > Ok done, attached output text file. The executable work fine but the project get "segmentation error" Can I try anything else? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- gian at gian:~/.local/share/gambas3/src/gianluigi/seHelpBuilder$ gbc3 -agt && gba3 -v -o seHepBuilder.gambas OK ---------------------------------------- ------------------------------ -------- ----- Path Abbrev. path Size Index ---------------------------------------- ------------------------------ -------- ----- .startup .startup 152 0 .project .project 779 1 .action .action - 2 .connection .connection - 3 .gambas .gambas - 4 .info .info 410 5 .lang .lang - 6 .list .list 28 7 Acknowledgments (readme) Acknowledgments (readme) 1067 8 COPYING COPYING 18092 9 Changelog Changelog 2230 10 License License 298 11 Lorem ipsum.txt Lorem ipsum.txt 1163 12 Tarquinius-Superbus.jpg Tarquinius-Superbus.jpg 85926 13 Todo Todo 56 14 file file - 15 help help - 16 help-form help-form - 17 help-icons help-icons - 18 help-lang help-lang - 19 help-mod help-mod - 20 icons icons - 21 logo4.png logo4.png 3600 22 .action/FMain.action /2:FMain.action 1866 23 .connection/helpdb /3:helpdb 207 24 .connection/helpdb10 /3:helpdb10 209 25 .connection/helpdb100 /3:helpdb100 212 26 .connection/helpdb101 /3:helpdb101 237 27 .connection/helpdb11 /3:helpdb11 209 28 .connection/helpdb12 /3:helpdb12 221 29 .connection/helpdb13 /3:helpdb13 209 30 .connection/helpdb14 /3:helpdb14 209 31 .connection/helpdb15 /3:helpdb15 209 32 .connection/helpdb16 /3:helpdb16 209 33 .connection/helpdb17 /3:helpdb17 209 34 .connection/helpdb18 /3:helpdb18 209 35 .connection/helpdb19 /3:helpdb19 209 36 .connection/helpdb2 /3:helpdb2 207 37 .connection/helpdb20 /3:helpdb20 211 38 .connection/helpdb21 /3:helpdb21 211 39 .connection/helpdb22 /3:helpdb22 211 40 .connection/helpdb23 /3:helpdb23 211 41 .connection/helpdb24 /3:helpdb24 217 42 .connection/helpdb25 /3:helpdb25 208 43 .connection/helpdb26 /3:helpdb26 208 44 .connection/helpdb27 /3:helpdb27 208 45 .connection/helpdb28 /3:helpdb28 208 46 .connection/helpdb29 /3:helpdb29 208 47 .connection/helpdb3 /3:helpdb3 207 48 .connection/helpdb30 /3:helpdb30 208 49 .connection/helpdb31 /3:helpdb31 208 50 .connection/helpdb32 /3:helpdb32 208 51 .connection/helpdb33 /3:helpdb33 208 52 .connection/helpdb34 /3:helpdb34 208 53 .connection/helpdb35 /3:helpdb35 200 54 .connection/helpdb36 /3:helpdb36 200 55 .connection/helpdb37 /3:helpdb37 202 56 .connection/helpdb38 /3:helpdb38 202 57 .connection/helpdb39 /3:helpdb39 202 58 .connection/helpdb4 /3:helpdb4 207 59 .connection/helpdb40 /3:helpdb40 202 60 .connection/helpdb41 /3:helpdb41 202 61 .connection/helpdb42 /3:helpdb42 206 62 .connection/helpdb43 /3:helpdb43 212 63 .connection/helpdb44 /3:helpdb44 212 64 .connection/helpdb45 /3:helpdb45 212 65 .connection/helpdb46 /3:helpdb46 208 66 .connection/helpdb47 /3:helpdb47 212 67 .connection/helpdb48 /3:helpdb48 212 68 .connection/helpdb49 /3:helpdb49 212 69 .connection/helpdb5 /3:helpdb5 204 70 .connection/helpdb50 /3:helpdb50 212 71 .connection/helpdb51 /3:helpdb51 212 72 .connection/helpdb52 /3:helpdb52 212 73 .connection/helpdb53 /3:helpdb53 212 74 .connection/helpdb54 /3:helpdb54 212 75 .connection/helpdb55 /3:helpdb55 212 76 .connection/helpdb56 /3:helpdb56 212 77 .connection/helpdb57 /3:helpdb57 212 78 .connection/helpdb58 /3:helpdb58 212 79 .connection/helpdb59 /3:helpdb59 212 80 .connection/helpdb6 /3:helpdb6 204 81 .connection/helpdb60 /3:helpdb60 212 82 .connection/helpdb61 /3:helpdb61 223 83 .connection/helpdb62 /3:helpdb62 223 84 .connection/helpdb63 /3:helpdb63 212 85 .connection/helpdb64 /3:helpdb64 212 86 .connection/helpdb65 /3:helpdb65 212 87 .connection/helpdb66 /3:helpdb66 212 88 .connection/helpdb67 /3:helpdb67 212 89 .connection/helpdb68 /3:helpdb68 223 90 .connection/helpdb69 /3:helpdb69 223 91 .connection/helpdb7 /3:helpdb7 209 92 .connection/helpdb70 /3:helpdb70 212 93 .connection/helpdb71 /3:helpdb71 212 94 .connection/helpdb72 /3:helpdb72 212 95 .connection/helpdb73 /3:helpdb73 212 96 .connection/helpdb74 /3:helpdb74 212 97 .connection/helpdb75 /3:helpdb75 212 98 .connection/helpdb76 /3:helpdb76 212 99 .connection/helpdb77 /3:helpdb77 212 100 .connection/helpdb78 /3:helpdb78 212 101 .connection/helpdb79 /3:helpdb79 212 102 .connection/helpdb8 /3:helpdb8 209 103 .connection/helpdb80 /3:helpdb80 212 104 .connection/helpdb81 /3:helpdb81 212 105 .connection/helpdb82 /3:helpdb82 212 106 .connection/helpdb83 /3:helpdb83 212 107 .connection/helpdb84 /3:helpdb84 212 108 .connection/helpdb85 /3:helpdb85 212 109 .connection/helpdb86 /3:helpdb86 212 110 .connection/helpdb87 /3:helpdb87 212 111 .connection/helpdb88 /3:helpdb88 212 112 .connection/helpdb89 /3:helpdb89 212 113 .connection/helpdb9 /3:helpdb9 209 114 .connection/helpdb90 /3:helpdb90 212 115 .connection/helpdb91 /3:helpdb91 212 116 .connection/helpdb92 /3:helpdb92 212 117 .connection/helpdb93 /3:helpdb93 212 118 .connection/helpdb94 /3:helpdb94 212 119 .connection/helpdb95 /3:helpdb95 212 120 .connection/helpdb96 /3:helpdb96 212 121 .connection/helpdb97 /3:helpdb97 212 122 .connection/helpdb98 /3:helpdb98 212 123 .connection/helpdb99 /3:helpdb99 212 124 .gambas/CADD /4:CADD 1108 125 .gambas/CAPPLY /4:CAPPLY 1524 126 .gambas/CCHECK /4:CCHECK 780 127 .gambas/CCOMMAND /4:CCOMMAND 504 128 .gambas/CDELETE /4:CDELETE 1524 129 .gambas/CDELHOME /4:CDELHOME 776 130 .gambas/CDOWN /4:CDOWN 836 131 .gambas/CHOME /4:CHOME 776 132 .gambas/CIMAGE /4:CIMAGE 920 133 .gambas/COLORBACKGROUND /4:COLORBACKGROUND 2596 134 .gambas/COLORTEXT /4:COLORTEXT 2584 135 .gambas/CREMOVE /4:CREMOVE 1112 136 .gambas/CUNCHECK /4:CUNCHECK 784 137 .gambas/CUP /4:CUP 836 138 .gambas/DCHOOSER /4:DCHOOSER 2812 139 .gambas/FANCHOR /4:FANCHOR 3504 140 .gambas/FCHARACTERS /4:FCHARACTERS 5688 141 .gambas/FCHOOSER /4:FCHOOSER 2388 142 .gambas/FHBASE /4:FHBASE 8316 143 .gambas/FHBOOKMARKS /4:FHBOOKMARKS 13400 144 .gambas/FHELP /4:FHELP 15968 145 .gambas/FHFIND /4:FHFIND 15220 146 .gambas/FHINDEX /4:FHINDEX 10804 147 .gambas/FHTMLFILE /4:FHTMLFILE 7380 148 .gambas/FIMAGE /4:FIMAGE 8536 149 .gambas/FIMPORTHTML /4:FIMPORTHTML 2148 150 .gambas/FLINK /4:FLINK 6152 151 .gambas/FMAIN /4:FMAIN 98788 152 .gambas/FOPTIONAL /4:FOPTIONAL 3392 153 .gambas/FPREVIEW /4:FPREVIEW 3116 154 .gambas/FRENAME /4:FRENAME 3536 155 .gambas/FTABLE /4:FTABLE 5332 156 .gambas/MBASE /4:MBASE 30616 157 .gambas/MBASEHELP /4:MBASEHELP 14576 158 .gambas/MHELPBASE /4:MHELPBASE 10840 159 .gambas/MHMAIN /4:MHMAIN 3320 160 .lang/de.mo /6:de.mo 1907 161 .lang/es_ES.mo /6:es_ES.mo 1583 162 .lang/fr.mo /6:fr.mo 1943 163 .lang/it.mo /6:it.mo 19939 164 file/help.css /15:help.css 2839 165 file/new.html /15:new.html 322 166 help/css /16:css - 167 help/database /16:database - 168 help/html /16:html - 169 help/image /16:image - 170 help-form/FHBase.class /17:FHBase.class 4522 171 help-form/FHBase.form /17:FHBase.form 2222 172 help-form/FHBookmarks.class /17:FHBookmarks.class 8401 173 help-form/FHBookmarks.form /17:FHBookmarks.form 3423 174 help-form/FHFind.class /17:FHFind.class 9791 175 help-form/FHFind.form /17:FHFind.form 3908 176 help-form/FHIndex.class /17:FHIndex.class 6539 177 help-form/FHIndex.form /17:FHIndex.form 2675 178 help-icons/BookClose.png /18:BookClose.png 365 179 help-icons/BookOpen.png /18:BookOpen.png 605 180 help-icons/Lens.png /18:Lens.png 622 181 help-icons/Page.png /18:Page.png 282 182 help-icons/bookmark-add.png /18:bookmark-add.png 514 183 help-icons/bookmark-delete.png /18:bookmark-delete.png 654 184 help-icons/go-home.png /18:go-home.png 1863 185 help-icons/go-next.png /18:go-next.png 1479 186 help-icons/go-previous.png /18:go-previous.png 1484 187 help-icons/help.png /18:help.png 2016 188 help-icons/printer-6.png /18:printer-6.png 1947 189 help-icons/view-split.png /18:view-split.png 962 190 help-icons/zoom+.png /18:zoom+.png 902 191 help-icons/zoom-.png /18:zoom-.png 857 192 help-icons/zoom1.png /18:zoom1.png 861 193 help-lang/de.mo /19:de.mo 2451 194 help-lang/de.po /19:de.po 3129 195 help-lang/es_ES.mo /19:es_ES.mo 2501 196 help-lang/es_ES.po /19:es_ES.po 3155 197 help-lang/fr.mo /19:fr.mo 2509 198 help-lang/fr.po /19:fr.po 3164 199 help-lang/it.mo /19:it.mo 2503 200 help-lang/it.po /19:it.po 3244 201 help-mod/HelpMod.txt /20:HelpMod.txt 4375 202 help-mod/MBaseHelp.txt /20:MBaseHelp.txt 14186 203 icons/BookClose.png /21:BookClose.png 365 204 icons/BookOpen.png /21:BookOpen.png 605 205 icons/Glub64.png /21:Glub64.png 3875 206 icons/Glub96.png /21:Glub96.png 6305 207 icons/HelpPreview.png /21:HelpPreview.png 756 208 icons/Image24.png /21:Image24.png 557 209 icons/Lens.png /21:Lens.png 622 210 icons/Page.png /21:Page.png 282 211 icons/Preview.png /21:Preview.png 670 212 icons/anchor.png /21:anchor.png 694 213 icons/background.png /21:background.png 653 214 icons/bold20.png /21:bold20.png 510 215 icons/bookmarks.png /21:bookmarks.png 6047 216 icons/center.png /21:center.png 731 217 icons/cyrillic.png /21:cyrillic.png 705 218 icons/directory.png /21:directory.png 461 219 icons/down.png /21:down.png 276 220 icons/file-close.png /21:file-close.png 585 221 icons/file.png /21:file.png 298 222 icons/file22.png /21:file22.png 285 223 icons/find.png /21:find.png 5808 224 icons/floppy.png /21:floppy.png 375 225 icons/font.png /21:font.png 356 226 icons/greek.png /21:greek.png 727 227 icons/html.png /21:html.png 657 228 icons/icoanchor.png /21:icoanchor.png 814 229 icons/indent.png /21:indent.png 800 230 icons/italic.png /21:italic.png 312 231 icons/justified.png /21:justified.png 762 232 icons/latin.png /21:latin.png 261 233 icons/left.png /21:left.png 710 234 icons/link.png /21:link.png 879 235 icons/logo256.png /21:logo256.png 27250 236 icons/logo4.png /21:logo4.png 3600 237 icons/next.png /21:next.png 329 238 icons/number.png /21:number.png 407 239 icons/old-folder.png /21:old-folder.png 607 240 icons/omega.png /21:omega.png 743 241 icons/point.png /21:point.png 273 242 icons/previous.png /21:previous.png 328 243 icons/redo.png /21:redo.png 445 244 icons/right.png /21:right.png 703 245 icons/strike.png /21:strike.png 626 246 icons/table.png /21:table.png 455 247 icons/technic.png /21:technic.png 289 248 icons/text.png /21:text.png 522 249 icons/title.png /21:title.png 698 250 icons/underlined.png /21:underlined.png 386 251 icons/undo.png /21:undo.png 447 252 icons/unindent.png /21:unindent.png 791 253 icons/unlink23.png /21:unlink23.png 862 254 icons/up.png /21:up.png 277 255 help/css/help.css /167:help.css 2839 256 help/database/helpdb /168:helpdb 247808 257 help/html/en /169:en - 258 help/html/it /169:it - 259 help/image/W-anchor-up.png /170:W-anchor-up.png 5195 260 help/image/W-table2.png /170:W-table2.png 59122 261 help/image/apply.png /170:apply.png 2109 262 help/image/button-delete-2.png /170:button-delete-2.png 7263 263 help/image/button-delete.png /170:button-delete.png 6813 264 help/image/change-icon-1.png /170:change-icon-1.png 14182 265 help/image/change-icon-2.png /170:change-icon-2.png 12152 266 help/image/choose-copy-file.png /170:choose-copy-file.png 26577 267 help/image/choose-homepage-0.png /170:choose-homepage-0.png 46137 268 help/image/choose-homepage.png /170:choose-homepage.png 10854 269 help/image/choose-image.png /170:choose-image.png 28720 270 help/image/cmb-languages.png /170:cmb-languages.png 37345 271 help/image/coin-image.png /170:coin-image.png 93663 272 help/image/color-custom-2.png /170:color-custom-2.png 8570 273 help/image/color-windows.png /170:color-windows.png 27519 274 help/image/combo-languages.png /170:combo-languages.png 1705 275 help/image/combo-parent.png /170:combo-parent.png 2733 276 help/image/combo-topic.png /170:combo-topic.png 2264 277 help/image/command-bar.png /170:command-bar.png 12364 278 help/image/contents-01.png /170:contents-01.png 31757 279 help/image/contents-02.png /170:contents-02.png 27102 280 help/image/contents-03.png /170:contents-03.png 40448 281 help/image/contents-04.png /170:contents-04.png 36130 282 help/image/contents-05.png /170:contents-05.png 42090 283 help/image/contents-06.png /170:contents-06.png 35727 284 help/image/contents-07.png /170:contents-07.png 42431 285 help/image/contents-08.png /170:contents-08.png 42145 286 help/image/contents-09.png /170:contents-09.png 40289 287 help/image/contents-10.png /170:contents-10.png 39598 288 help/image/contents-11-page-two.png /170:contents-11-page-two.png 33665 289 help/image/contents-12-page-two.png /170:contents-12-page-two.png 63853 290 help/image/contents-13-page-two.png /170:contents-13-page-two.png 64095 291 help/image/contents-14-title-up.png /170:contents-14-title-up.png 43075 292 help/image/contents-15-title-up.png /170:contents-15-title-up.png 43765 293 help/image/contents-bar.png /170:contents-bar.png 6057 294 help/image/contents-tab-1.png /170:contents-tab-1.png 86653 295 help/image/external-link-01.png /170:external-link-01.png 8489 296 help/image/external-link-02.png /170:external-link-02.png 9131 297 help/image/find-all-pages.png /170:find-all-pages.png 72560 298 help/image/find-box.png /170:find-box.png 789 299 help/image/find-this-page.png /170:find-this-page.png 79936 300 help/image/format-indent.png /170:format-indent.png 17157 301 help/image/help-bookmark-delete.png /170:help-bookmark-delete.png 48604 302 help/image/help-bookmarks.png /170:help-bookmarks.png 49712 303 help/image/help-index-1.png /170:help-index-1.png 85513 304 help/image/help-successfully- info.png /170:help-successfully- info.p 11677 305 help/image/help-window-2.png /170:help-window-2.png 77262 306 help/image/help-window.png /170:help-window.png 80572 307 help/image/help-without-panel.png /170:help-without-panel.png 95342 308 help/image/home-page-4.png /170:home-page-4.png 8760 309 help/image/home-page-6.png /170:home-page-6.png 70412 310 help/image/import-html.png /170:import-html.png 42806 311 help/image/import-images.png /170:import-images.png 56847 312 help/image/indent-format-windows.png /170:indent-format-windows.png 20615 313 help/image/index-add.png /170:index-add.png 86199 314 help/image/index-delete-1.png /170:index-delete-1.png 17951 315 help/image/index-delete.png /170:index-delete.png 39887 316 help/image/index-tab.png /170:index-tab.png 35075 317 help/image/internal-link.png /170:internal-link.png 49406 318 help/image/link-external-2.png /170:link-external-2.png 9220 319 help/image/link-external.png /170:link-external.png 27718 320 help/image/link-internal-list.png /170:link-internal-list.png 149502 321 help/image/link-testpage.png /170:link-testpage.png 57805 322 help/image/logo4.png /170:logo4.png 2290 323 help/image/main-tool-bar.png /170:main-tool-bar.png 5352 324 help/image/menu-help-preview.png /170:menu-help-preview.png 19482 325 help/image/menu-help-save.png /170:menu-help-save.png 19591 326 help/image/menu-help.png /170:menu-help.png 2144 327 help/image/menu-html-import.png /170:menu-html-import.png 19716 328 help/image/menu-import-images.png /170:menu-import-images.png 19455 329 help/image/menu-open-file.png /170:menu-open-file.png 19853 330 help/image/menu-open-project.png /170:menu-open-project.png 13924 331 help/image/menu-project.png /170:menu-project.png 7854 332 help/image/menu-title.png /170:menu-title.png 25117 333 help/image/mhmain.png /170:mhmain.png 18565 334 help/image/my-first-project.png /170:my-first-project.png 19287 335 help/image/open-file.png /170:open-file.png 40920 336 help/image/open-project-red.png /170:open-project-red.png 46664 337 help/image/open-project.png /170:open-project.png 54918 338 help/image/other-tab-1.png /170:other-tab-1.png 37387 339 help/image/page-two-0.png /170:page-two-0.png 124600 340 help/image/page-two-1.png /170:page-two-1.png 137367 341 help/image/page-two.png /170:page-two.png 152537 342 help/image/par-seven-10.png /170:par-seven-10.png 46142 343 help/image/par-seven-3.png /170:par-seven-3.png 26163 344 help/image/par-seven-4.png /170:par-seven-4.png 26467 345 help/image/par-seven-5.png /170:par-seven-5.png 84202 346 help/image/par-seven-7.png /170:par-seven-7.png 51659 347 help/image/par-seven-format3.png /170:par-seven-format3.png 49163 348 help/image/par-seven2.png /170:par-seven2.png 25968 349 help/image/parent.png /170:parent.png 12549 350 help/image/preview.png /170:preview.png 94861 351 help/image/print-01.png /170:print-01.png 21133 352 help/image/print-02.png /170:print-02.png 32366 353 help/image/print-03.png /170:print-03.png 32665 354 help/image/print-04.png /170:print-04.png 73786 355 help/image/project-file.png /170:project-file.png 18674 356 help/image/project-type.png /170:project-type.png 35468 357 help/image/question-close-save.png /170:question-close-save.png 10863 358 help/image/question-open-close.png /170:question-open-close.png 10498 359 help/image/remove-format-4.png /170:remove-format-4.png 8301 360 help/image/rename-title.png /170:rename-title.png 56699 361 help/image/save-copy.png /170:save-copy.png 31457 362 help/image/shortcuts-window.png /170:shortcuts-window.png 41392 363 help/image/table-window-2.png /170:table-window-2.png 14329 364 help/image/table-window.png /170:table-window.png 17298 365 help/image/template-components.png /170:template-components.png 44792 366 help/image/template-end.png /170:template-end.png 27322 367 help/image/template-property.png /170:template-property.png 18592 368 help/image/template-save as.png /170:template-save as.png 47592 369 help/image/test-page.png /170:test-page.png 120269 370 help/image/title1.png /170:title1.png 81472 371 help/image/title2-formatted.png /170:title2-formatted.png 96785 372 help/image/title2.png /170:title2.png 75053 373 help/image/title3-formatted.png /170:title3-formatted.png 76413 374 help/image/tools-bar.png /170:tools-bar.png 6128 375 help/image/tools.png /170:tools.png 4626 376 help/image/topic.png /170:topic.png 13580 377 help/image/translation-1.png /170:translation-1.png 111621 378 help/image/translation-3.png /170:translation-3.png 35051 379 help/image/translation-4.png /170:translation-4.png 19035 380 help/image/translation-5.png /170:translation-5.png 38649 381 help/image/translation-6-1.png /170:translation-6-1.png 38236 382 help/image/translation-6.png /170:translation-6.png 16264 383 help/image/translation-7.png /170:translation-7.png 21283 384 help/image/tree-icon.png /170:tree-icon.png 2988 385 help/image/txt-index.png /170:txt-index.png 6318 386 help/image/txt-link.png /170:txt-link.png 815 387 help/image/txt-title.png /170:txt-title.png 941 388 help/image/undo-redo.png /170:undo-redo.png 1194 389 help/image/w-anchor-coin.png /170:w-anchor-coin.png 9704 390 help/image/w-anchor-list.png /170:w-anchor-list.png 6562 391 help/image/w-anchor.png /170:w-anchor.png 61571 392 help/image/w-ctrl+v.png /170:w-ctrl+v.png 61158 393 help/image/w-file-new.png /170:w-file-new.png 31769 394 help/image/w-image-1-4.png /170:w-image-1-4.png 127964 395 help/image/w-image1-1.png /170:w-image1-1.png 85400 396 help/image/w-image1.png /170:w-image1.png 52445 397 help/image/w-image2.png /170:w-image2.png 27325 398 help/image/w-image3.png /170:w-image3.png 42880 399 help/image/w-image4.png /170:w-image4.png 33824 400 help/image/w-image5.png /170:w-image5.png 36893 401 help/image/w-link-up-2.png /170:w-link-up-2.png 292135 402 help/image/w-link-up.png /170:w-link-up.png 124638 403 help/image/w-mnfile.png /170:w-mnfile.png 14268 404 help/image/w-operation1.png /170:w-operation1.png 28659 405 help/image/w-operation2.png /170:w-operation2.png 29777 406 help/image/w-ordered-list.png /170:w-ordered-list.png 47483 407 help/image/w-save-new-file.png /170:w-save-new-file.png 28648 408 help/image/w-size-menu.png /170:w-size-menu.png 4878 409 help/image/w-special-characters.png /170:w-special-characters.png 40873 410 help/image/w-style-menu.png /170:w-style-menu.png 5941 411 help/image/w-table-1.png /170:w-table-1.png 55947 412 help/image/w-title-anchor.png /170:w-title-anchor.png 46032 413 help/image/w-title-html1.png /170:w-title-html1.png 13828 414 help/image/w-title1-2.png /170:w-title1-2.png 48445 415 help/image/w-title1-anchor2.png /170:w-title1-anchor2.png 2534 416 help/image/window-main.png /170:window-main.png 31585 417 help/html/en/A general view to seHelpBui /258:A general view to seHelpB 38645 418 help/html/en/Anchor window.html /258:Anchor window.html 1117 419 help/html/en/Assembly and formatting.htm /258:Assembly and formatting.h 13802 420 help/html/en/Configure shortcut window.h /258:Configure shortcut window 1516 421 help/html/en/How to create pages step by /258:How to create pages step 23865 422 help/html/en/How to translate.html /258:How to translate.html 4165 423 help/html/en/Link window.html /258:Link window.html 3153 424 help/html/en/Not to lose your bearing.ht /258:Not to lose your bearing. 4081 425 help/html/en/Operation of the online hel /258:Operation of the online h 6505 426 help/html/en/Preview window.html /258:Preview window.html 1221 427 help/html/en/Special characters window.h /258:Special characters window 1250 428 help/html/en/Table window.html /258:Table window.html 2018 429 help/html/en/The Project.html /258:The Project.html 9649 430 help/html/en/Useful keyboard keys.html /258:Useful keyboard keys.html 5059 431 help/html/en/Warning window on indent.ht /258:Warning window on indent. 1137 432 help/html/en/Window for open project.htm /258:Window for open project.h 1426 433 help/html/en/Window to choose a html fil /258:Window to choose a html f 1961 434 help/html/en/Window to choose an image.h /258:Window to choose an image 1288 435 help/html/en/Window to choose files to c /258:Window to choose files to 1168 436 help/html/en/Window to choose the color. /258:Window to choose the colo 1517 437 help/html/en/Window to import file.html /258:Window to import file.htm 1582 438 help/html/en/Window to import images.htm /258:Window to import images.h 1597 439 help/html/en/Window to process an image. /258:Window to process an imag 2324 440 help/html/en/Window to rename file.html /258:Window to rename file.htm 1269 441 help/html/en/Window to save a copy.html /258:Window to save a copy.htm 1024 442 help/html/it/Assemblaggio e Formattazion /259:Assemblaggio e Formattazi 14896 443 help/html/it/Come creare le pagine passo /259:Come creare le pagine pas 24971 444 help/html/it/Come tradurre.html /259:Come tradurre.html 3947 445 help/html/it/Finestra Ancora.html /259:Finestra Ancora.html 1176 446 help/html/it/Finestra Anteprima.html /259:Finestra Anteprima.html 1206 447 help/html/it/Finestra Apri progetto.html /259:Finestra Apri progetto.ht 1431 448 help/html/it/Finestra Caratteri speciali /259:Finestra Caratteri specia 1224 449 help/html/it/Finestra Colore.html /259:Finestra Colore.html 1599 450 help/html/it/Finestra Immagine.html /259:Finestra Immagine.html 2217 451 help/html/it/Finestra Importa file.html /259:Finestra Importa file.htm 1619 452 help/html/it/Finestra Importa immagini.h /259:Finestra Importa immagini 1813 453 help/html/it/Finestra Link.html /259:Finestra Link.html 3391 454 help/html/it/Finestra Rinomina.html /259:Finestra Rinomina.html 1296 455 help/html/it/Finestra Salva una copia.ht /259:Finestra Salva una copia. 1096 456 help/html/it/Finestra Scegli file da cop /259:Finestra Scegli file da c 1219 457 help/html/it/Finestra Scegli immagine.ht /259:Finestra Scegli immagine. 1250 458 help/html/it/Finestra Scegli un file htm /259:Finestra Scegli un file h 1842 459 help/html/it/Finestra Tabella.html /259:Finestra Tabella.html 2172 460 help/html/it/Finestra configurazione sho /259:Finestra configurazione s 1627 461 help/html/it/Finestra di avviso su inden /259:Finestra di avviso su ind 1197 462 help/html/it/Funzionamento della guida i /259:Funzionamento della guida 6865 463 help/html/it/Il progetto.html /259:Il progetto.html 10131 464 help/html/it/Per non perdere la bussola. /259:Per non perdere la bussol 3785 465 help/html/it/Tasti utili.html /259:Tasti utili.html 5372 466 help/html/it/Uno sguardo generale a seHe /259:Uno sguardo generale a se 40284 467 ---------------------------------------- ------------------------------ -------- ----- Writing archive format version 2: /home/gian/.local/share/gambas3/src/gianluigi/seHelpBuilder/seHepBuilder.gambas From olivier.cruilles at yahoo.fr Tue Apr 7 17:53:14 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:53:14 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: So could you just remove ?.gambas? directory in your project and recompile your project again please After that could you describe me what you can not do and what kind of error happens Olivier Le 7 avril 2020 ? 11:49:15, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 17:20 Yahoo ha scritto: yourexecutable.gambas ?==> is the executable that the compilator will produce for you, you can put the name you want Ok done, attached output text file. The executable work fine but the project get "segmentation error" Can I try anything else? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Tue Apr 7 17:53:14 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:53:14 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: So could you just remove ?.gambas? directory in your project and recompile your project again please After that could you describe me what you can not do and what kind of error happens Olivier Le 7 avril 2020 ? 11:49:15, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 17:20 Yahoo ha scritto: yourexecutable.gambas ?==> is the executable that the compilator will produce for you, you can put the name you want Ok done, attached output text file. The executable work fine but the project get "segmentation error" Can I try anything else? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Tue Apr 7 17:54:32 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:54:32 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: Of course, did you try to execute the executable produced by the compilation ? does it run ? Olivier Le 7 avril 2020 ? 11:53:17, Yahoo (olivier.cruilles at yahoo.fr) a ?crit: So could you just remove ?.gambas? directory in your project and recompile your project again please After that could you describe me what you can not do and what kind of error happens Olivier Le 7 avril 2020 ? 11:49:15, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 17:20 Yahoo ha scritto: yourexecutable.gambas ?==> is the executable that the compilator will produce for you, you can put the name you want Ok done, attached output text file. The executable work fine but the project get "segmentation error" Can I try anything else? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Tue Apr 7 17:54:32 2020 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Tue, 7 Apr 2020 11:54:32 -0400 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: Of course, did you try to execute the executable produced by the compilation ? does it run ? Olivier Le 7 avril 2020 ? 11:53:17, Yahoo (olivier.cruilles at yahoo.fr) a ?crit: So could you just remove ?.gambas? directory in your project and recompile your project again please After that could you describe me what you can not do and what kind of error happens Olivier Le 7 avril 2020 ? 11:49:15, Gianluigi (bagonergi at gmail.com) a ?crit: Il giorno mar 7 apr 2020 alle ore 17:20 Yahoo ha scritto: yourexecutable.gambas ?==> is the executable that the compilator will produce for you, you can put the name you want Ok done, attached output text file. The executable work fine but the project get "segmentation error" Can I try anything else? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Apr 7 19:33:10 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 7 Apr 2020 19:33:10 +0200 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: Il giorno mar 7 apr 2020 alle ore 17:54 Yahoo ha scritto: > Of course, did you try to execute the executable produced by the > compilation ? does it run ? > > > Olivier > > Le 7 avril 2020 ? 11:53:17, Yahoo (olivier.cruilles at yahoo.fr) a ?crit: > > So could you just remove ?.gambas? directory in your project and recompile > your project again please > > > After that could you describe me what you can not do and what kind of > error happens > > If I start the project I only get "Segmentation error", in practice it doesn't open: gian at gian:~$ LANG="C" gambas3 ~/.local/share/gambas3/src/gianluigi/seHelpBuilder Errore di segmentazione If I start it from the IDE nothing happens If I start seHelpBuilder.gambas with a double click, it works very well. To be sure, I have successfully created a guide for a new project. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From yrodas at upnfm.edu.hn Tue Apr 7 21:24:52 2020 From: yrodas at upnfm.edu.hn (Yeshua Rodas) Date: Tue, 7 Apr 2020 13:24:52 -0600 Subject: [Gambas-user] Form Center issue with dual monitor Message-ID: Hello folks. I'm having an litte issue displaying a Form centered on the screen. You'll see, I have a 2 monitor setting, one upper, another one on bottom. When I run my program, the Form instead of getting centered for the monitor where it is running (the up monitor in my case) is centered in relation with both monitors. I adjunct an screenshot. So, is there some way to center a form in relation to a single monitor? PD: Also, it would be nice to create a new window with the class code, so, in one monitor could be displaying the form editor, and in another one, the .class file. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GambasCenter.png Type: image/png Size: 146377 bytes Desc: not available URL: From t.lee.davidson at gmail.com Tue Apr 7 22:28:19 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 7 Apr 2020 16:28:19 -0400 Subject: [Gambas-user] Form Center issue with dual monitor In-Reply-To: References: Message-ID: On 4/7/20 3:24 PM, Yeshua Rodas wrote: > Hello folks. > > I'm having an litte issue displaying a Form centered on the screen. > You'll see, I have a 2 monitor setting, one upper, another one on bottom. > When I run my program, the Form instead of getting centered for the monitor where it is running (the up monitor in my case) is > centered in relation with both monitors. You might need to center the form manually using the Width and Height properties of DesktopWindow. http://gambaswiki.org/wiki/comp/gb.desktop -- Lee From brian at westwoodsvcs.com Tue Apr 7 22:10:22 2020 From: brian at westwoodsvcs.com (brian at westwoodsvcs.com) Date: Tue, 07 Apr 2020 23:10:22 +0300 Subject: [Gambas-user] =?utf-8?q?Form_Center_issue_with_dual_monitor?= In-Reply-To: References: Message-ID: <1586290222.329293614@f33.my.com> I am having the same issue on my side by side monitors. It goes to center of both display half and half. -- Thanks Brian Tuesday, 07 April 2020, 00:26PM -07:00 from Yeshua Rodas yrodas at upnfm.edu.hn : >? >Hello folks. > >I'm having an litte issue displaying a Form centered on the screen. >You'll see, I have a 2 monitor setting, one upper, another one on bottom. >When I run my program, the Form instead of getting centered for the monitor where it is running (the up monitor in my case) is centered in relation with both monitors. > >I adjunct an screenshot. > >So, is there some way to center a form in relation to a single monitor? > >PD: Also, it would be nice to create a new window with the class code, so, in one monitor could be displaying the form editor, and in another one, the .class file. > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Apr 7 22:45:39 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 7 Apr 2020 22:45:39 +0200 Subject: [Gambas-user] Form Center issue with dual monitor In-Reply-To: References: Message-ID: <4982f979-1f59-f83e-e83e-2d6ca67d8c6f@gmail.com> Le 07/04/2020 ? 22:28, T Lee Davidson a ?crit?: > On 4/7/20 3:24 PM, Yeshua Rodas wrote: >> Hello folks. >> >> I'm having an litte issue displaying a Form centered on the screen. >> You'll see, I have a 2 monitor setting, one upper, another one on bottom. >> When I run my program, the Form instead of getting centered for the >> monitor where it is running (the up monitor in my case) is centered in >> relation with both monitors. > > You might need to center the form manually using the Width and Height > properties of DesktopWindow. > http://gambaswiki.org/wiki/comp/gb.desktop > > The code already does that, so I don't understand why it does not work. -- Beno?t Minisini From sharon at 455.co.il Tue Apr 7 23:28:13 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Wed, 8 Apr 2020 00:28:13 +0300 Subject: [Gambas-user] gb.v4l Message-ID: <20200407212339.M15249@455.co.il> Hello I see that the newer versions no longer have a component: gb.v4l Is there an alternative to video capture using gambas Thank you From t.lee.davidson at gmail.com Wed Apr 8 01:53:26 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 7 Apr 2020 19:53:26 -0400 Subject: [Gambas-user] Form Center issue with dual monitor In-Reply-To: <4982f979-1f59-f83e-e83e-2d6ca67d8c6f@gmail.com> References: <4982f979-1f59-f83e-e83e-2d6ca67d8c6f@gmail.com> Message-ID: <1421984e-3904-12e4-b4c2-a7f13a5e0a3a@gmail.com> On 4/7/20 4:45 PM, Beno?t Minisini wrote: > Le 07/04/2020 ? 22:28, T Lee Davidson a ?crit?: >> On 4/7/20 3:24 PM, Yeshua Rodas wrote: >>> Hello folks. >>> >>> I'm having an litte issue displaying a Form centered on the screen. >>> You'll see, I have a 2 monitor setting, one upper, another one on bottom. >>> When I run my program, the Form instead of getting centered for the monitor where it is running (the up monitor in my case) >>> is centered in relation with both monitors. >> >> You might need to center the form manually using the Width and Height properties of DesktopWindow. >> http://gambaswiki.org/wiki/comp/gb.desktop >> >> > > The code already does that, so I don't understand why it does not work. > I don't use multiple displays, so I cannot verify this. But, apparently there are two different ways to configure two monitors in extended mode. One is in the case where one monitor is set to be the Main display. This allows each monitor to have different wallpapers and also display different application windows. The other is without either display being set as Main. This makes the two displays share the same wallpaper and application windows. If I am correct, this mode is likely the cause of the issue. -- Lee From t.lee.davidson at gmail.com Wed Apr 8 01:59:57 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 7 Apr 2020 19:59:57 -0400 Subject: [Gambas-user] gb.v4l In-Reply-To: <20200407212339.M15249@455.co.il> References: <20200407212339.M15249@455.co.il> Message-ID: <2ae55310-0269-2501-7aae-b5bed3328d74@gmail.com> On 4/7/20 5:28 PM, Mayost Sharon wrote: > Hello > > I see that the newer versions no longer have a component: > gb.v4l > Is there an alternative to video capture using gambas > > Thank you The gb.media component (GStreamer) might be able to help you with that. "GStreamer is a toolkit for building audio- and video-processing pipelines. A pipeline might stream video from a file to a network, or add an echo to a recording, or (most interesting to us) capture the output of a Video4Linux device." https://www.linuxtv.org/wiki/index.php/GStreamer -- Lee From isafiur at gmail.com Wed Apr 8 09:08:54 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Wed, 8 Apr 2020 12:53:54 +0545 Subject: [Gambas-user] What is equivalent of -nosalt in gambas gb.openssl Message-ID: How can I get the following command using gb.openssl Shell "echo abc | openssl enc -aes-256-cbc -nosalt -pass pass:password | base64" Safiur Rahman From bagonergi at gmail.com Wed Apr 8 12:16:31 2020 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 8 Apr 2020 12:16:31 +0200 Subject: [Gambas-user] Segmentation error In-Reply-To: References: Message-ID: Hi Olivier, sorry, I probably didn't understand what you asked me to do. However I solved by uninstalling and reinstalling from software farm. Unfortunately the download is very very slow, it would be necessary to put hand to the code that is full of naivety of youth ;-D Regards & thank you Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From patrik at trixon.se Wed Apr 8 15:29:55 2020 From: patrik at trixon.se (=?UTF-8?Q?Patrik_Karlstr=C3=B6m?=) Date: Wed, 8 Apr 2020 15:29:55 +0200 Subject: [Gambas-user] Building Gambas on Solus Message-ID: I'm building Gambas on Solus and am in the process of sorting out the dependencies. Have come as far as || THESE COMPONENTS ARE DISABLED: || - gb.db.mysql || - gb.db.odbc || - gb.db.postgresql || - gb.db.sqlite2 || - gb.ncurses || - gb.openal || - gb.qt4.webkit My first question is in regard to ncurses. ncurses 6.1 is installed, and -devel too. ls -l /usr/include/ncurses/ncurses.h lrwxrwxrwx 1 root root 12 Apr 7 15:26 /usr/include/ncurses/ncurses.h -> ../ncurses.h indicate a symlink, could that be the reason of the failure? Any hints on what to do in order to make it work? pata at xps ~/H?mtningar/gambas-3.14.3/gb.ncurses $ ./reconf autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal -I m4 --install autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy autoreconf: running: /usr/bin/autoconf autoreconf: running: /usr/bin/autoheader autoreconf: running: automake --add-missing --copy --no-force autoreconf: Leaving directory `.' pata at xps ~/H?mtningar/gambas-3.14.3/gb.ncurses $ ./configure -C configure: creating cache config.cache checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... (cached) yes checking whether ln -s works... yes checking target system... LINUX checking target architecture... X86_64 checking for unistd.h... (cached) yes checking for setenv... yes checking for unsetenv... yes checking for getdomainname... yes checking for getpt... yes checking for cfmakeraw... yes checking for fstatat... yes checking for C library... -lc checking for main in -lgcc_s... yes checking for main in -lstdc++... yes checking which extension is used for shared libraries... .so checking for threading compiler options... -D_REENTRANT checking for threading linker options... -lpthread checking for mathematic libraries... -lm checking for external gettext library... checking for external inotify library... checking for monotonic clock... yes checking for library containing clock_gettime... none required checking for ccache... no checking CFLAGS for gcc -fvisibility=hidden... -fvisibility=hidden checking CFLAGS for gcc -flto... -flto checking CXXFLAGS for gcc -std=c++11... -std=c++11 checking how to run the C preprocessor... gcc -E checking whether we are using the GNU C++ compiler... (cached) yes checking whether g++ accepts -g... (cached) yes checking dependency style of g++... (cached) gcc3 checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) gcc3 checking whether make sets $(MAKE)... (cached) yes checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen... no checking for dlopen in -ldl... yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself... no checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for gb.ncurses component with pkg-config... no configure: WARNING: Unable to met pkg-config requirement: ncurses configure: WARNING: Unable to met pkg-config requirement: panel configure: WARNING: gb.ncurses is disabled configure: updating cache config.cache checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands || || Unable to met pkg-config requirement: ncurses || Unable to met pkg-config requirement: panel || gb.ncurses is disabled || -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Wed Apr 8 16:52:44 2020 From: taboege at gmail.com (Tobias Boege) Date: Wed, 8 Apr 2020 16:52:44 +0200 Subject: [Gambas-user] Building Gambas on Solus In-Reply-To: References: Message-ID: <20200408145244.GG3605349@highrise.localdomain> On Wed, 08 Apr 2020, Patrik Karlstr?m wrote: > I'm building Gambas on Solus and am in the process of sorting out the > dependencies. [...] > > My first question is in regard to ncurses. > ncurses 6.1 is installed, and -devel too. > > ls -l /usr/include/ncurses/ncurses.h > lrwxrwxrwx 1 root root 12 Apr 7 15:26 /usr/include/ncurses/ncurses.h -> > ../ncurses.h > > indicate a symlink, could that be the reason of the failure? > Any hints on what to do in order to make it work? > > pata at xps ~/H?mtningar/gambas-3.14.3/gb.ncurses $ ./reconf > > [...] > > || > || Unable to met pkg-config requirement: ncurses > || Unable to met pkg-config requirement: panel > || gb.ncurses is disabled > || The configure script for gb.ncurses uses pkg-config to determine if and what version of ncurses and its panel extension are installed. What does $ pkg-config --modversion ncurses panel give you? Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From taboege at gmail.com Wed Apr 8 17:04:08 2020 From: taboege at gmail.com (Tobias Boege) Date: Wed, 8 Apr 2020 17:04:08 +0200 Subject: [Gambas-user] Building Gambas on Solus In-Reply-To: <20200408145244.GG3605349@highrise.localdomain> References: <20200408145244.GG3605349@highrise.localdomain> Message-ID: <20200408150408.GH3605349@highrise.localdomain> On Wed, 08 Apr 2020, Tobias Boege wrote: > On Wed, 08 Apr 2020, Patrik Karlstr?m wrote: > > I'm building Gambas on Solus and am in the process of sorting out the > > dependencies. [...] > > > > My first question is in regard to ncurses. > > ncurses 6.1 is installed, and -devel too. > > > > ls -l /usr/include/ncurses/ncurses.h > > lrwxrwxrwx 1 root root 12 Apr 7 15:26 /usr/include/ncurses/ncurses.h -> > > ../ncurses.h > > > > indicate a symlink, could that be the reason of the failure? > > Any hints on what to do in order to make it work? > > > > pata at xps ~/H?mtningar/gambas-3.14.3/gb.ncurses $ ./reconf > > > > [...] > > > > || > > || Unable to met pkg-config requirement: ncurses > > || Unable to met pkg-config requirement: panel > > || gb.ncurses is disabled > > || > > The configure script for gb.ncurses uses pkg-config to determine if and > what version of ncurses and its panel extension are installed. What does > > $ pkg-config --modversion ncurses panel > > give you? > Ah, I took a peak into the ncurses-devel package from Solus and it seems that they install the pkg-config files with a "w" suffix. So if the above command fails, please try $ pkg-config --modversion ncursesw panelw to confirm my guess. Ncurses can be compiled with and without **w**ide-character support. On my system (and I'd bet lots of others) "ncurses" is synonymous with "ncursesw". Apparently Solus has decided that it will only provide the "w" names. Once this is confirmed, a fix should be relatively simple. (Famous last words from someone about to dive into autoconf macros.) Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From patrik at trixon.se Wed Apr 8 17:08:42 2020 From: patrik at trixon.se (=?UTF-8?Q?Patrik_Karlstr=C3=B6m?=) Date: Wed, 8 Apr 2020 17:08:42 +0200 Subject: [Gambas-user] Building Gambas on Solus In-Reply-To: <20200408150408.GH3605349@highrise.localdomain> References: <20200408145244.GG3605349@highrise.localdomain> <20200408150408.GH3605349@highrise.localdomain> Message-ID: Den ons 8 apr. 2020 kl 17:05 skrev Tobias Boege : > On Wed, 08 Apr 2020, Tobias Boege wrote: > > On Wed, 08 Apr 2020, Patrik Karlstr?m wrote: > > > I'm building Gambas on Solus and am in the process of sorting out the > > > dependencies. [...] > > > > > > My first question is in regard to ncurses. > > > ncurses 6.1 is installed, and -devel too. > > > > > > ls -l /usr/include/ncurses/ncurses.h > > > lrwxrwxrwx 1 root root 12 Apr 7 15:26 /usr/include/ncurses/ncurses.h > -> > > > ../ncurses.h > > > > > > indicate a symlink, could that be the reason of the failure? > > > Any hints on what to do in order to make it work? > > > > > > pata at xps ~/H?mtningar/gambas-3.14.3/gb.ncurses $ ./reconf > > > > > > [...] > > > > > > || > > > || Unable to met pkg-config requirement: ncurses > > > || Unable to met pkg-config requirement: panel > > > || gb.ncurses is disabled > > > || > > > > The configure script for gb.ncurses uses pkg-config to determine if and > > what version of ncurses and its panel extension are installed. What does > > > > $ pkg-config --modversion ncurses panel > > > > give you? > > > > Ah, I took a peak into the ncurses-devel package from Solus and it seems > that they install the pkg-config files with a "w" suffix. So if the above > command fails, please try > > $ pkg-config --modversion ncursesw panelw > > to confirm my guess. > > Ncurses can be compiled with and without **w**ide-character support. > On my system (and I'd bet lots of others) "ncurses" is synonymous with > "ncursesw". Apparently Solus has decided that it will only provide the > "w" names. Once this is confirmed, a fix should be relatively simple. > (Famous last words from someone about to dive into autoconf macros.) > > Regards, > Tobias > > Thanks, it looks like you are on to something here. pata at xps ~/src/gambas/gb.ncurses $ pkg-config --modversion ncurses panel Package ncurses was not found in the pkg-config search path. Perhaps you should add the directory containing `ncurses.pc' to the PKG_CONFIG_PATH environment variable No package 'ncurses' found Package panel was not found in the pkg-config search path. Perhaps you should add the directory containing `panel.pc' to the PKG_CONFIG_PATH environment variable No package 'panel' found pata at xps ~/src/gambas/gb.ncurses $ pkg-config --modversion ncursesw panelw 6.1.20180127 6.1.20180127 -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Wed Apr 8 18:45:57 2020 From: taboege at gmail.com (Tobias Boege) Date: Wed, 8 Apr 2020 18:45:57 +0200 Subject: [Gambas-user] Building Gambas on Solus In-Reply-To: References: <20200408145244.GG3605349@highrise.localdomain> <20200408150408.GH3605349@highrise.localdomain> Message-ID: <20200408164557.GI3605349@highrise.localdomain> On Wed, 08 Apr 2020, Patrik Karlstr?m wrote: > Den ons 8 apr. 2020 kl 17:05 skrev Tobias Boege : > > > On Wed, 08 Apr 2020, Tobias Boege wrote: > > > On Wed, 08 Apr 2020, Patrik Karlstr?m wrote: > > > > I'm building Gambas on Solus and am in the process of sorting out the > > > > dependencies. [...] > > > > > > > > My first question is in regard to ncurses. > > > > ncurses 6.1 is installed, and -devel too. > > > > > pata at xps ~/src/gambas/gb.ncurses $ pkg-config --modversion ncurses panel > Package ncurses was not found in the pkg-config search path. > Perhaps you should add the directory containing `ncurses.pc' > to the PKG_CONFIG_PATH environment variable > No package 'ncurses' found > Package panel was not found in the pkg-config search path. > Perhaps you should add the directory containing `panel.pc' > to the PKG_CONFIG_PATH environment variable > No package 'panel' found > pata at xps ~/src/gambas/gb.ncurses $ pkg-config --modversion ncursesw panelw > 6.1.20180127 > 6.1.20180127 Thanks, can you try compiling the latest master (commit ab26124)? -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From t.lee.davidson at gmail.com Wed Apr 8 19:11:24 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 8 Apr 2020 13:11:24 -0400 Subject: [Gambas-user] What is equivalent of -nosalt in gambas gb.openssl In-Reply-To: References: Message-ID: <3667a53f-b80f-5e2b-b9e5-0080683555f0@gmail.com> On 4/8/20 3:08 AM, Safiur Rahman wrote: > How can I get the following command using gb.openssl > Shell "echo abc | openssl enc -aes-256-cbc -nosalt -pass pass:password | base64" > > Safiur Rahman > I am certainly no expert on this. But, as far as I can tell, you can't - at least not as simply especially given that the component currently has no EVP_BytesToKey method. The documentation does not specify, so I have to assume that to generate a cipher with no salt, we use the .Encrypt method. This means that the Key and Initialization Vector must be separately generated and provided. Here is a short test* that I worked up rather quickly so it may have algorithm bugs: ' Gambas module file Public Sub Main() Dim CipherMethod As String = "AES-256-CBC" Dim Pass As String = "password" Dim KeyAndIv As Collection Dim sCipher As String KeyAndIv = BytesToKey(CipherMethod, Pass) sCipher = Cipher[CipherMethod].Encrypt("abc", KeyAndIv["key"], KeyAndIv["iv"]).Cipher Print Base64(sCipher) End Public Sub BytesToKey(Method As String, Pass As String) As Collection Dim KeyLength, IvLength As Integer Dim CurrentHash, HashList As String KeyLength = Cipher[Method].KeyLength IvLength = Cipher[Method].IvLength CurrentHash = Digest["sha256"](Pass) HashList = CurrentHash While Len(HashList) < KeyLength + IvLength CurrentHash = Digest["sha256"](CurrentHash & Pass) HashList &= CurrentHash Wend Return ["key": Left(HashList, KeyLength), "iv": Mid(HashList, KeyLength + 1, IvLength)] End It doesn't produce the same results as the openssl command line version, but it's results are consistent. * The BytesToKey function is adapted and simplified from https://stackoverflow.com/questions/8008253/c-sharp-version-of-openssl-evp-bytestokey-method/8011654#8011654 See also: https://github.com/openssl/openssl/blob/b96dba9e5ec7afc355be1eab915f69c8c0d51741/crypto/evp/evp_key.c#L74 https://linux.die.net/man/3/evp_bytestokey -- Lee From t.lee.davidson at gmail.com Wed Apr 8 19:26:34 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 8 Apr 2020 13:26:34 -0400 Subject: [Gambas-user] Question about gambas and raspberry In-Reply-To: <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> Message-ID: <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> On 4/6/20 6:12 PM, Christof Thalhofer wrote: > Hello Fabien, > > Am 07.04.20 um 00:03 schrieb Fabien Bodard: > >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Please excuse the interruption. As you quote it three times, did you > ever read it? > > Alles Gute > > Christof Thalhofer > > Perhaps it's not clear to people from the anchor text that it pertains specifically to Gambas Mailing List Etiquette and not simply 'Net etiquette. And then there are also folks who naturally have their own preferences. -- Lee From taboege at gmail.com Wed Apr 8 19:40:46 2020 From: taboege at gmail.com (Tobias Boege) Date: Wed, 8 Apr 2020 19:40:46 +0200 Subject: [Gambas-user] What is equivalent of -nosalt in gambas gb.openssl In-Reply-To: <3667a53f-b80f-5e2b-b9e5-0080683555f0@gmail.com> References: <3667a53f-b80f-5e2b-b9e5-0080683555f0@gmail.com> Message-ID: <20200408174046.GJ3605349@highrise.localdomain> On Wed, 08 Apr 2020, T Lee Davidson wrote: > On 4/8/20 3:08 AM, Safiur Rahman wrote: > > How can I get the following command using gb.openssl > > Shell "echo abc | openssl enc -aes-256-cbc -nosalt -pass pass:password | base64" > > > > Safiur Rahman > > > > I am certainly no expert on this. But, as far as I can tell, you can't > I think I agree with your judgement. One way to do this is as T Lee described and I think exposing key derivation functions was another TODO anyway. So one could kill two birds with one stone here. BTW: I'm almost sure that at least some openssl utilities currently deployed use MD5 in their key derivation -- you might want to try if that fixes the incompatibility of your code that uses SHA-256. Another way is to introduce an edge case for EncryptSalted. Currently if EncryptSalted does not receive a Salt argument, it generates one at random. An API to implement -nosalt that would maintain plausible API compatibility would require the user to pass a salt argument but make it Null, i.e.: EncryptSalted(sData, sPassword) ' use random salt EncryptSalted(sData, sPassword, sSalt) ' use given salt EncryptSalted(sData, sPassword, Null) ' new: no salt *Currently* the last invocation would result in a salt consisting entirely of NUL bytes, which is arguably not what one would expect either way. Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From patrik at trixon.se Wed Apr 8 20:40:49 2020 From: patrik at trixon.se (=?UTF-8?Q?Patrik_Karlstr=C3=B6m?=) Date: Wed, 8 Apr 2020 20:40:49 +0200 Subject: [Gambas-user] Building Gambas on Solus In-Reply-To: <20200408164557.GI3605349@highrise.localdomain> References: <20200408145244.GG3605349@highrise.localdomain> <20200408150408.GH3605349@highrise.localdomain> <20200408164557.GI3605349@highrise.localdomain> Message-ID: Den ons 8 apr. 2020 kl 18:46 skrev Tobias Boege : > Thanks, can you try compiling the latest master (commit ab26124)? > > Nice, making good progress here. make failed though, first on qt4 and then on gtk2. After render them disabled by uninstalling the deps I was able to make & install. I don't know if it's worth digging in to qt4 & gtk2, are those components going to be around for much longer? But then again, it might be best to get them functional? Just fired it up and it looks ok to me at a first glance. :) Will update the wiki when I have sorted out all dependencies in a proper manner. Thanks [System] Gambas=3.14.90 ab26124aa (master) OperatingSystem=Linux Kernel=5.5.11-151.current Architecture=x86_64 Distribution=Solus Desktop=KDE5 Theme=Breeze Language=C Memory=32042M [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.6.0 DBus=libdbus-1.so.3.19.11 GStreamer=libgstreamer-0.10.so.0.30.0 GStreamer=libgstreamer-1.0.so.0.1602.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2404.12 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.86.0.0 QT5=libQt5Core.so.5.13.2 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] COLORFGBG=0;15 COLORTERM=truecolor DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=/usr/share/xsessions/plasma DISPLAY=:0 GB_GUI=gb.qt5 HISTIGNORE=&:[bf]g:exit HISTSIZE=1000 HOME= INPUTRC=/etc/inputrc JAVA_HOME=/.sdkman/candidates/java/current KDE_FULL_SESSION=true KDE_SESSION_UID=1000 KDE_SESSION_VERSION=5 KONSOLE_DBUS_SERVICE=:1.48 KONSOLE_DBUS_SESSION=/Sessions/1 KONSOLE_DBUS_WINDOW=/Windows/1 KONSOLE_VERSION=191203 LANG=sv_SE.UTF-8 LANGUAGE=C LC_ALL=C LOGNAME= OLDPWD=/src PAM_KWALLET5_LOGIN=/tmp/kwallet5_.socket PATH=/.sdkman/candidates/java/current/bin:/sbin:/bin:/usr/sbin:/usr/bin:/snap/bin PROFILEHOME= PWD=/src/gambas QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_LOGGING_RULES=*.debug=false SDKMAN_CANDIDATES_API=https://api.sdkman.io/2 SDKMAN_CANDIDATES_DIR=/.sdkman/candidates SDKMAN_DIR=/.sdkman SDKMAN_PLATFORM=Linux64 SDKMAN_VERSION=5.7.4+362 SESSION_MANAGER=local/:@/tmp/.ICE-unix/1016,unix/:/tmp/.ICE-unix/1016 SHELL=/bin/bash SHELL_SESSION_ID=ce9f77973b9c4154a1e15555e47144df SHLVL=1 SSH_ASKPASS=/usr/bin/ksshaskpass TERM=xterm-256color TZ=:/etc/localtime USER= WINDOWID=69206023 XAUTHORITY=/.Xauthority XCURSOR_SIZE=24 XCURSOR_THEME=breeze_cursors XDG_CONFIG_DIRS=/usr/share/xdg:/etc/xdg:/usr/share XDG_CURRENT_DESKTOP=KDE XDG_DATA_DIRS=/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/share:/var/lib/snapd/desktop/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=KDE XDG_SESSION_ID=1 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 XDG_SESSION_TYPE=x11 XDG_VTNR=7 _=/usr/bin/gambas3 -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at gambas-es.org Wed Apr 8 20:54:48 2020 From: admin at gambas-es.org (Jesus Guardon) Date: Wed, 8 Apr 2020 20:54:48 +0200 Subject: [Gambas-user] Question about gambas and raspberry In-Reply-To: <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> Message-ID: <333281ca-f113-7786-8621-c25c8252854a@gambas-es.org> El 08/04/20 a las 19:26, T Lee Davidson escribi?: > On 4/6/20 6:12 PM, Christof Thalhofer wrote: >> Hello Fabien, >> >> Am 07.04.20 um 00:03 schrieb Fabien Bodard: >> >>> ???????? ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Perhaps it's not clear to people from the anchor text that it pertains > specifically to Gambas Mailing List Etiquette and not simply 'Net > etiquette. And then there are also folks who naturally have their own > preferences. I will add to this something that got me really annoyed, and it is people using Digest delivers not changing the topic nor stripping useless parts of the text. Regards and stay safe Jesus From chrisml at deganius.de Wed Apr 8 21:46:57 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 8 Apr 2020 21:46:57 +0200 Subject: [Gambas-user] Question about gambas and raspberry In-Reply-To: <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> Message-ID: Am 08.04.20 um 19:26 schrieb T Lee Davidson: > Perhaps it's not clear to people from the anchor text that it > pertains specifically to Gambas Mailing List Etiquette and not simply > 'Net etiquette. How could we make it clearer? Could you formulate it better, so that it's easier to understand? Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From jussi.lahtinen at gmail.com Wed Apr 8 22:06:38 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 8 Apr 2020 23:06:38 +0300 Subject: [Gambas-user] What is equivalent of -nosalt in gambas gb.openssl In-Reply-To: <20200408174046.GJ3605349@highrise.localdomain> References: <3667a53f-b80f-5e2b-b9e5-0080683555f0@gmail.com> <20200408174046.GJ3605349@highrise.localdomain> Message-ID: I'm quite sure I misunderstand something here, but MD5 is not cryptographically secure and should never be used in hashing passwords. Jussi On Wed, Apr 8, 2020 at 8:41 PM Tobias Boege wrote: > On Wed, 08 Apr 2020, T Lee Davidson wrote: > > On 4/8/20 3:08 AM, Safiur Rahman wrote: > > > How can I get the following command using gb.openssl > > > Shell "echo abc | openssl enc -aes-256-cbc -nosalt -pass pass:password > | base64" > > > > > > Safiur Rahman > > > > > > > I am certainly no expert on this. But, as far as I can tell, you can't > > > > I think I agree with your judgement. One way to do this is as T Lee > described and I think exposing key derivation functions was another > TODO anyway. So one could kill two birds with one stone here. > BTW: I'm almost sure that at least some openssl utilities currently > deployed use MD5 in their key derivation -- you might want to try if > that fixes the incompatibility of your code that uses SHA-256. > > Another way is to introduce an edge case for EncryptSalted. Currently > if EncryptSalted does not receive a Salt argument, it generates one > at random. An API to implement -nosalt that would maintain plausible > API compatibility would require the user to pass a salt argument but > make it Null, i.e.: > > EncryptSalted(sData, sPassword) ' use random salt > EncryptSalted(sData, sPassword, sSalt) ' use given salt > EncryptSalted(sData, sPassword, Null) ' new: no salt > > *Currently* the last invocation would result in a salt consisting > entirely of NUL bytes, which is arguably not what one would expect > either way. > > Regards, > Tobias > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Wed Apr 8 22:36:03 2020 From: taboege at gmail.com (Tobias Boege) Date: Wed, 8 Apr 2020 22:36:03 +0200 Subject: [Gambas-user] What is equivalent of -nosalt in gambas gb.openssl In-Reply-To: References: <3667a53f-b80f-5e2b-b9e5-0080683555f0@gmail.com> <20200408174046.GJ3605349@highrise.localdomain> Message-ID: <20200408203603.GK3605349@highrise.localdomain> On Wed, 08 Apr 2020, Jussi Lahtinen wrote: > I'm quite sure I misunderstand something here, > Yes, it is used in a key derivation function here, not to hash a password for persistent storage. > but MD5 is not > cryptographically secure and should never be used in hashing passwords. > Nevertheless, even using MD5 there is deprecated but retained as a default for backwards compatibility -- unless I'm completely misremembering. Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From t.lee.davidson at gmail.com Thu Apr 9 07:19:34 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 9 Apr 2020 01:19:34 -0400 Subject: [Gambas-user] Gambas Mailing List Etiquette (was Question about gambas and raspberry) In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> Message-ID: On 4/8/20 3:46 PM, Christof Thalhofer wrote: > Am 08.04.20 um 19:26 schrieb T Lee Davidson: > >> Perhaps it's not clear to people from the anchor text that it >> pertains specifically to Gambas Mailing List Etiquette and not simply >> 'Net etiquette. > > How could we make it clearer? Could you formulate it better, so that > it's easier to understand? > > Alles Gute > > Christof Thalhofer > Well, since we cannot universally rely on a HTML anchor tag to make it look pretty, how about something like: ----[ Gambas Mailing List Etiquette --> http://gambaswiki.org/wiki/doc/netiquette ]---- -- Lee From t.lee.davidson at gmail.com Thu Apr 9 07:41:04 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 9 Apr 2020 01:41:04 -0400 Subject: [Gambas-user] What is equivalent of -nosalt in gambas gb.openssl In-Reply-To: <20200408174046.GJ3605349@highrise.localdomain> References: <3667a53f-b80f-5e2b-b9e5-0080683555f0@gmail.com> <20200408174046.GJ3605349@highrise.localdomain> Message-ID: <5b1c55bc-05d8-2b12-4d88-a6ac90f0270f@gmail.com> On 4/8/20 1:40 PM, Tobias Boege wrote: > BTW: I'm almost sure that at least some openssl utilities currently > deployed use MD5 in their key derivation -- you might want to try if > that fixes the incompatibility of your code that uses SHA-256. Changing the key derivation function to use MD5 still did not yield the same result as I got from openssl on the command line. :-( > Another way is to introduce an edge case for EncryptSalted. Currently > if EncryptSalted does not receive a Salt argument, it generates one > at random. An API to implement -nosalt that would maintain plausible > API compatibility would require the user to pass a salt argument but > make it Null It sounds like that would work. Or: Static Function EncryptNoSalt ( Plain As String, Password As String ) As String Dim cKeyIv as Collection = EvpBytesToKey(Password) Return Cipher.Method.Encrypt( Plain, cKeyIv["key"], cKeyIv["iv"]).Cipher Did I miss anything? -- Lee From isafiur at gmail.com Thu Apr 9 08:13:22 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 9 Apr 2020 11:58:22 +0545 Subject: [Gambas-user] gambas gb-web-gui absent in Gambas Daily Builds for Ubuntu Message-ID: Hi After the gambas-gb-form2 was renamed to gambas-gb-gui neither of the packages are present in Gambas Daily Builds for Ubuntu (ppa:gambas-team/gambas-daily). From mckaygerhard at gmail.com Thu Apr 9 14:19:59 2020 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Thu, 9 Apr 2020 08:19:59 -0400 Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: <633679069.119880693.1551820838214.JavaMail.zimbra@exede.net> References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> <633679069.119880693.1551820838214.JavaMail.zimbra@exede.net> Message-ID: what happened with this? El mar., 5 de mar. de 2019 a la(s) 17:21, Cedron Dawg (cedron at exede.net) escribi?: > Hi B, > > Would it be possible for you to record a sample of one of your chart > productions? Or maybe a couple if you have different flavors. > > Take it from having loading .CSV file all the way to saving the image. > > It would be nice to have a definite target to aim for. Well, more > specifically, which functionality I have to span. > > Then go into the macro editor, copy and paste the generated code into a > text file, then email it to me at cedron at exede dot net. > > Thanks, progress is being made, but plans are going awry. > > Ced > > > ----- Original Message ----- > From: "Bruce" > > Interesting concept! > My own experiences with LO "macro programming" left me somewhat less > than enthused. The object module is apparently a mystical secret known > only to the inner circle and their publicized documentation about as > transparent as a brick. > > Now something that would do what you propose above would be fantastic, > but then again I would be overjoyed if not ecstatic with a library that > just let me make LO graphs with data provided by a Gambas program > through a somewhat "static" interface. > > [...snip...] > > cheers > B > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Fri Apr 10 10:48:55 2020 From: adamnt42 at gmail.com (Bruce) Date: Fri, 10 Apr 2020 18:18:55 +0930 Subject: [Gambas-user] Making a copy of a project item Message-ID: <5b08a255-f0fc-0354-5720-0abcc4b1cbef@gmail.com> Maybe I'm going senile but I feel certain that there used to be a way to copy a class or a form within the ide as a new one? tia bruce From bagonergi at gmail.com Fri Apr 10 11:00:49 2020 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 10 Apr 2020 11:00:49 +0200 Subject: [Gambas-user] Making a copy of a project item In-Reply-To: <5b08a255-f0fc-0354-5720-0abcc4b1cbef@gmail.com> References: <5b08a255-f0fc-0354-5720-0abcc4b1cbef@gmail.com> Message-ID: Il giorno ven 10 apr 2020 alle ore 10:48 Bruce ha scritto: > Maybe I'm going senile but I feel certain that there used to be a way to > copy a class or a form within the ide as a new one? > You mean click on Sources with the right mouse button and click on Import...? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Fri Apr 10 11:23:43 2020 From: adamnt42 at gmail.com (Bruce) Date: Fri, 10 Apr 2020 18:53:43 +0930 Subject: [Gambas-user] Making a copy of a project item In-Reply-To: References: <5b08a255-f0fc-0354-5720-0abcc4b1cbef@gmail.com> Message-ID: <3353177e-db72-ce30-cf05-faf1f8978800@gmail.com> On 10/4/20 6:30 pm, Gianluigi wrote: > > > Il giorno ven 10 apr 2020 alle ore 10:48 Bruce > ha scritto: > > Maybe I'm going senile but I feel certain that there used to be a > way to > copy a class or a form within the ide as a new one? > > > You mean click on Sources with the right mouse button and click on > Import...? > > Regards > Gianluigi Hmmm, OK that works but it's very unwieldy. Specifically, let's take a form. I really just want to "Save As.." it for one of two reasons. Either a) it all just works but I want to experiment a bit with layout and/or control types etc. Surely just saving it as FMain1 (or a proper name) would be easier that wading through wherever I imported something last time to whever I happen to be working right now to find it, or b) I have a nice little template form for this type of business object with all the stuff generally needed for all of the subtypes of the business objects and want to create specialised forms for each business object subtype ( think "account_editor","delinquent_account_editor", "special_account_editor" etc.) But just to repeat myself, didn't there used to be a way to do this quickly? b From bagonergi at gmail.com Fri Apr 10 11:33:12 2020 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 10 Apr 2020 11:33:12 +0200 Subject: [Gambas-user] Making a copy of a project item In-Reply-To: <3353177e-db72-ce30-cf05-faf1f8978800@gmail.com> References: <5b08a255-f0fc-0354-5720-0abcc4b1cbef@gmail.com> <3353177e-db72-ce30-cf05-faf1f8978800@gmail.com> Message-ID: Il giorno ven 10 apr 2020 alle ore 11:23 Bruce ha scritto: > On 10/4/20 6:30 pm, Gianluigi wrote: > > > > > > Il giorno ven 10 apr 2020 alle ore 10:48 Bruce > > ha scritto: > > > You mean click on Sources with the right mouse button and click on > > Import...? > > Hmmm, OK that works but it's very unwieldy. > > Specifically, let's take a form. I really just want to "Save As.." it > for one of two reasons. Either a) it all just works but I want to > ... > I'm not sure I understand. Have you tried to import directly into the same project? The name changes to 1, 2 etc. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sat Apr 11 00:38:20 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 11 Apr 2020 00:38:20 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> Message-ID: <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> Am 09.04.20 um 07:19 schrieb T Lee Davidson: > Well, since we cannot universally rely on a HTML anchor tag to make > it look pretty, how about something like: > ----[ Gambas Mailing List Etiquette --> > http://gambaswiki.org/wiki/doc/netiquette ]---- Hmm, it does not fit in one line, so we have to use two. Can we create something like a slogan? Like so: ------ please keep the list clean ------- http://gambaswiki.org/wiki/doc/netiquette Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From jussi.lahtinen at gmail.com Sat Apr 11 02:51:07 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 11 Apr 2020 03:51:07 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> Message-ID: Three threads now about etiquette. In my opinion unnecessary thread splitting is bigger problem than top posting, which is in fact the preferred way for people using gmail etc clients who automatically sort things out by thread and shows only the new part of the conversation. > ----[ Gambas Mailing List Etiquette --> > > http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hmm, it does not fit in one line, so we have to use two. > Again, we all have different mail clients and in my case this all fits to one line. *However, the most important thing; do we really have readability problem in this list or is this only going to deter people from using the list?* Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sat Apr 11 07:44:13 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 11 Apr 2020 07:44:13 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> Message-ID: Am 11.04.20 um 02:51 schrieb Jussi Lahtinen: > Again, we all have different mail clients and in my case this all fits > to one line. > *However, the most important thing; do we really have readability > problem in this list or is this only going to deter people from using > the list?* As I read hundreds of mails a day (and usually every single one in this list), i am always glad when they are so clear that i can quickly see what it is all about and if it concerns me at all. I have a massive readability problem if someone posts two or three mails with all footers quoted into one posting and puts the answer anywhere in the middle. The longer we have the netiquette now, the less this happens, and for me it is easy to see that the mailing list is becoming more readable over time. This was my personal view. We also wanted to put more information (for instance also the links to the archive and the search engine of the list) into the footer as it was in the beginning, but this makes reading mails even more difficult, if the footer is quoted several times. Beno?t was right to complain about it so we had to shorten the footer: https://lists.gambas-basic.org/pipermail/user/2019-December/068284.html I don't think people are deterred by the fact that they should stick to a few small rules. In a mailing list where it's about exchanging ideas, it's always better to present those ideas as clearly and simply as possible, so that they can be understood easily. On the contrary, I think that a mailing list where this doesn't happen is a more deterrent. By the way, this has been a common problem on mailing lists for more than 30 years (AFAICS), and further or later it leads to a discussion like this and then to almost everyone following the rules. :-) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Sat Apr 11 07:52:56 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 11 Apr 2020 07:52:56 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> Message-ID: <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> Am 11.04.20 um 02:51 schrieb Jussi Lahtinen: > Three threads now about etiquette. In my opinion unnecessary thread > splitting is bigger problem than top posting Ah, you mean, we hijacked the thread? Yes, that's bad behavior. We should create a rule for that in the netiquette also, as it is a common problem much people aren't aware of. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From jussi.lahtinen at gmail.com Sat Apr 11 14:54:16 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 11 Apr 2020 15:54:16 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> Message-ID: > > > Three threads now about etiquette. In my opinion unnecessary thread > > splitting is bigger problem than top posting > > Ah, you mean, we hijacked the thread? Yes, that's bad behavior. > No, while I agree that thread hijacking shouldn't be done, thread splitting is different thing. It means when you reply to a thread you change the subject line, either by adding unnecessary "Re:" or otherwise edit it. This creates two threads about the same topic, which makes it less convenient to follow the conversation. But of course this is not a problem in old style email clients, which does nothing to help you anyway. Which seems to be the case with you. I don't see the repeating information, footers etc at all, if I don't choose to view them. I see them only when they appear first time in the thread. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Apr 11 15:23:14 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 11 Apr 2020 16:23:14 +0300 Subject: [Gambas-user] Error management and JIT Message-ID: When JIT is enabled the test for error management fails. See the attachment. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GambasTestercmd-0.10.22.tar.gz Type: application/gzip Size: 30046 bytes Desc: not available URL: From t.lee.davidson at gmail.com Sat Apr 11 16:54:05 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 11 Apr 2020 10:54:05 -0400 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> Message-ID: <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> On 4/11/20 8:54 AM, Jussi Lahtinen wrote: > No, while I agree that thread hijacking shouldn't be done, thread splitting is different thing. > It means when you reply to a thread you change the subject line, either by adding unnecessary "Re:" or otherwise edit it. I did that when the topic of the sub-thread diverged significantly from the original thread and it appeared that a discussion regarding the new topic would continue. This was done so that people would know it was a different topic and could ignore it if they weren't interested. Is that bad practice? -- Lee From patrik at trixon.se Sat Apr 11 16:55:34 2020 From: patrik at trixon.se (=?UTF-8?Q?Patrik_Karlstr=C3=B6m?=) Date: Sat, 11 Apr 2020 16:55:34 +0200 Subject: [Gambas-user] Building Gambas on Solus In-Reply-To: References: <20200408145244.GG3605349@highrise.localdomain> <20200408150408.GH3605349@highrise.localdomain> <20200408164557.GI3605349@highrise.localdomain> Message-ID: Den ons 8 apr. 2020 kl 20:40 skrev Patrik Karlstr?m : > Nice, making good progress here. > make failed though, first on qt4 and then on gtk2. > Managed to get gtk2 working, but gb.qt4 still confuses me. Is it reading the headers of qt5? make[5]: Entering directory '/home/pata/src/gambas/gb.qt4/src' CC gb_qt4_la-x11.lo CC gb_qt4_la-desktop.lo CXX gb_qt4_la-main_moc.lo main_moc.cpp:16:2: error: #error "This file was generated using the moc from 5.13.2. It" 16 | #error "This file was generated using the moc from 5.13.2. It" | ^~~~~ main_moc.cpp:17:2: error: #error "cannot be used with the include files from this version of Qt." 17 | #error "cannot be used with the include files from this version of Qt." | ^~~~~ main_moc.cpp:18:2: error: #error "(The moc has changed too much.)" 18 | #error "(The moc has changed too much.)" | ^~~~~ Attaching full output of ( ./configure -C; make ) > output_qt4.txt 2>&1 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: output_qt4.tar.gz Type: application/gzip Size: 9566 bytes Desc: not available URL: From chrisml at deganius.de Sat Apr 11 17:23:07 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 11 Apr 2020 17:23:07 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> Message-ID: Am 11.04.20 um 16:54 schrieb T Lee Davidson: > On 4/11/20 8:54 AM, Jussi Lahtinen wrote: >> No, while I agree that thread hijacking shouldn't be done, thread >> splitting is different thing. It means when you reply to a thread >> you change the subject line, either by adding unnecessary "Re:" or >> otherwise edit it. > > I did that when the topic of the sub-thread diverged significantly > from the original thread and it appeared that a discussion regarding > the new topic would continue. This was done so that people would know > it was a different topic and could ignore it if they weren't > interested. Is that bad practice? IMO yes, because normally if you answer to a mail belonging to a thread, your mail client adds a "References" (or "In-Reply-To") header which points to the mail(s) you have answered. Mail clients which are able to display conversations as threads will normally sort your mail into the threads tree according to these headers regardless of what you have written in the subject. If you answer to a mail in a thread with a new subject because in reality you wanted to start a new thread you have hijacked the original thread which was the case here. Mail clients which are only capable of sorting threads by the subject and stumble over a "Re: " are poorly programmed IMO. This was an issue about 15 or 20 years ago and I thought it had been solved everywhere in the meantime. :-/ Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From jussi.lahtinen at gmail.com Sat Apr 11 20:15:41 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 11 Apr 2020 21:15:41 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> Message-ID: > > I did that when the topic of the sub-thread diverged significantly from > the original thread and it appeared that a discussion > regarding the new topic would continue. This was done so that people would > know it was a different topic and could ignore it if > they weren't interested. Is that bad practice? > No, of course that was right thing to do. I mean the second thread (this one) created from what you created. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sun Apr 12 09:49:25 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 12 Apr 2020 09:49:25 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> Message-ID: Am 11.04.20 um 20:15 schrieb Jussi Lahtinen: > I did that when the topic of the sub-thread diverged significantly > from the original thread and it appeared that a discussion > regarding the new topic would continue. This was done so that people > would know it was a different topic and could ignore it if > they weren't interested. Is that bad practice? > > No, of course that was right thing to do. I mean the second thread (this > one) created from what you created. No. The right thing would have been to post a new mail with the subject"Gambas Mailing List Etiquette" to start a new thread. The original thread was hijacked* as can be seen here: https://lists.gambas-basic.org/pipermail/user/2020-April/thread.html#68949 This can also be seen in the screenshot of Claws Mail, which is able to track and display threads as it should be as well. I think the Google mail client (I don't know it) does not know threads and therefore cannot display them. But this is not the standard. What Google Mail seem to do is very old poor man's threading by just sorting threads by subject and time. * Hijacking a thread: Whenever a mail is replied to, the reply is part of a thread. So if someone wants to discuss a new topic, it should never be in a reply. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: thread-raspberry-to-etiquette.png Type: image/png Size: 25551 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From sharon at 455.co.il Sun Apr 12 13:49:49 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Sun, 12 Apr 2020 14:49:49 +0300 Subject: [Gambas-user] gb.media record to file Message-ID: <20200412114757.M52330@455.co.il> Hello Can I get help on how to record a file from a camera? To turn on the camera I managed: 'Gambas module file Private hPlayer As MediaPlayer Public Sub Main () hPlayer = New MediaPlayer As "MediaPlayer" hPlayer.URL = "v4l2:///dev/video0" hPlayer.Play End To save the file I got in trouble I tried to read the documentation here: https://gstreamer.freedesktop.org/documentation/?gi-language=c And even more complicated I wrote it in C language Thank you From adamnt42 at gmail.com Sun Apr 12 14:10:06 2020 From: adamnt42 at gmail.com (Bruce) Date: Sun, 12 Apr 2020 21:40:06 +0930 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> Message-ID: <9f807183-baf8-bd0e-ed9c-d5b1db9afebc@gmail.com> 1) Dont "reply" if you are starting a new topic. 2) Dont post html 3...999,997) Don't post fecking html 999,998...999,999) Cut, snip, and talk ON THE BOTTOM. Unless it makes it easier to read inline. 1,000,063) cut the sigs. 1,000,064) I don't care about your sig, If you are so.. "important to me" I have your email address anyway. 1,000,065) p.s. If I don't happen to have your email address and I dont have it I can get it from the header anyway.... 999,999,999,999) :-) From t.lee.davidson at gmail.com Sun Apr 12 16:16:11 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 12 Apr 2020 10:16:11 -0400 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> Message-ID: <55a456b8-1a84-42c0-3172-c036cd151f78@gmail.com> On 4/12/20 3:49 AM, Christof Thalhofer wrote: > No. The right thing would have been to post a new mail with the > subject"Gambas Mailing List Etiquette" to start a new thread. > > The original thread was hijacked* as can be seen here: > > https://lists.gambas-basic.org/pipermail/user/2020-April/thread.html#68949 > > This can also be seen in the screenshot of Claws Mail, which is able to > track and display threads as it should be as well. > > I think the Google mail client (I don't know it) does not know threads > and therefore cannot display them. But this is not the standard. What > Google Mail seem to do is very old poor man's threading by just sorting > threads by subject and time. > > * Hijacking a thread: Whenever a mail is replied to, the reply is part > of a thread. So if someone wants to discuss a new topic, it should never > be in a reply. Okay. Well then based on that, Christof, the thread was actually hijacked here: https://lists.gambas-basic.org/pipermail/user/2020-April/068957.html I don't see any way in Thunderbird to modify the header of a reply so as to strip the thread id. So, I guess one would have to copy 'n' paste to a new mail. -- Lee From chrisml at deganius.de Sun Apr 12 17:52:18 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 12 Apr 2020 17:52:18 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <55a456b8-1a84-42c0-3172-c036cd151f78@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <55a456b8-1a84-42c0-3172-c036cd151f78@gmail.com> Message-ID: <2e1c991d-3680-88a8-d3ff-b3d831121c49@deganius.de> Am 12.04.20 um 16:16 schrieb T Lee Davidson: > Okay. Well then based on that, Christof, the thread was actually > hijacked here: > https://lists.gambas-basic.org/pipermail/user/2020-April/068957.html Uff .. no, I did not change the subject! But I should have written that private, never thought it would turn out to be such a big deal. > I don't see any way in Thunderbird to modify the header of a reply so > as to strip the thread id. So, I guess one would have to copy 'n' > paste to a new mail. Yes. A reply links the mails together, the reply and the mail that was replied to. If you don't want to do that, post a new one. And it's not a Thunderbird thing and headers should not be stripped. They are part of the e-mail protocol: https://tools.ietf.org/html/rfc2822#section-3.6.4 Hijacking a thread in a mailinglist is usually a mistake made out of inexperience. Someone in reality wants to start a new thread but instead answers to an already existing mail with a new subject. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Sun Apr 12 18:24:01 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 12 Apr 2020 18:24:01 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <9f807183-baf8-bd0e-ed9c-d5b1db9afebc@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <9f807183-baf8-bd0e-ed9c-d5b1db9afebc@gmail.com> Message-ID: Am 12.04.20 um 14:10 schrieb Bruce: > 1) Dont "reply" if you are starting a new topic. > 2) Dont post html > 3...999,997) Don't post fecking html > 999,998...999,999) Cut, snip, and talk ON THE BOTTOM. Unless it makes it > easier to read inline. > 1,000,063) cut the sigs. > 1,000,064) I don't care about your sig, If you are so.. "important to > me" I have your email address anyway. > 1,000,065) p.s. If I don't happen to have your email address and I dont > have it I can get it from the header anyway.... > 999,999,999,999) :-) YEAH! And: 0.9) Be kind. :-) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From t.lee.davidson at gmail.com Sun Apr 12 18:27:36 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 12 Apr 2020 12:27:36 -0400 Subject: [Gambas-user] gb.media record to file In-Reply-To: <20200412114757.M52330@455.co.il> References: <20200412114757.M52330@455.co.il> Message-ID: On 4/12/20 7:49 AM, Mayost Sharon wrote: > Hello > > Can I get help on how to record a file from a camera? [snip] > > > To save the file I got in trouble > I tried to read the documentation here: > https://gstreamer.freedesktop.org/documentation/?gi-language=c > > And even more complicated I wrote it in C language > > Thank you I think you're going to need to utilize a MediaControl with the Type (plugin type) set to "fdsink". See: http://gambaswiki.org/wiki/comp/gb.media/mediacontrol/_new , and https://gstreamer.freedesktop.org/documentation/coreelements/fdsink.html However, I am having difficulty accomplishing that, so I cannot help you with how. -- Lee From t.lee.davidson at gmail.com Sun Apr 12 18:45:39 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 12 Apr 2020 12:45:39 -0400 Subject: [Gambas-user] How to create MediaControl with specific Type? Message-ID: <054cf751-fab5-2a86-2d93-785e5187c858@gmail.com> I am trying to create a new MediaControl with the Type="fdsink". But, I get errors on creation. It seems that to specify a Type, a Parent must also be specified else I get a "Null object" error. Given this: ' Gambas module file Public hMediaContainer As MediaContainer Public hControl As MediaControl Public Sub Main() ' hMediaContainer = New MediaContainer As "hMediaContainer" hControl = New MediaControl(Null, "fdsink") As "hControl" hControl["fd"] = "myfile.mp4" End I get "Null object" on New MediaControl. If I uncomment so as to create a new MediaContainer to be used as Parent for the MediaControl, (ie: hControl = New MediaControl(hMediaContainer, "fdsink") As "hControl"), I get "Null object" on New MediaContainer. If I try hPlayer = New MediaPlayer(Null, "fdsink") As "hPlayer", the IDE console displays an error: GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed So it appears that a Parent is required. How can a specific Type be specified when there is no parent? -- Lee From t.lee.davidson at gmail.com Sun Apr 12 18:51:40 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 12 Apr 2020 12:51:40 -0400 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <2e1c991d-3680-88a8-d3ff-b3d831121c49@deganius.de> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <55a456b8-1a84-42c0-3172-c036cd151f78@gmail.com> <2e1c991d-3680-88a8-d3ff-b3d831121c49@deganius.de> Message-ID: <7be373de-c9ed-94ba-f148-754823593cd2@gmail.com> On 4/12/20 11:52 AM, Christof Thalhofer wrote: > Am 12.04.20 um 16:16 schrieb T Lee Davidson: > >> Okay. Well then based on that, Christof, the thread was actually >> hijacked here: >> https://lists.gambas-basic.org/pipermail/user/2020-April/068957.html > > Uff .. no, I did not change the subject! But I should have written that > private, never thought it would turn out to be such a big deal. > So then, a thread isn't actually hijacked unless the Subject line is changed even though the actual topic of discussion had already changed? But yet, unless I misunderstood, Jussi is of the opinion that the subject *should* have been changed. I'm just confused as to what, going forward, is the best means, and accepted policy for this list, of handling such a situation. -- Lee From bagonergi at gmail.com Sun Apr 12 19:14:37 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sun, 12 Apr 2020 19:14:37 +0200 Subject: [Gambas-user] gb.media record to file In-Reply-To: <20200412114757.M52330@455.co.il> References: <20200412114757.M52330@455.co.il> Message-ID: Il giorno dom 12 apr 2020 alle ore 13:51 Mayost Sharon ha scritto: > Hello > > Can I get help on how to record a file from a camera? > To turn on the camera I managed: > Hi, I recommend these pages of the Italian wiki: https://www.gambas-it.org/wiki/index.php?title=La_gestione_del_video_e_dei_file_video_con_il_componente_gb.media Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sun Apr 12 19:15:26 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 12 Apr 2020 20:15:26 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> Message-ID: No. The right thing would have been to post a new mail with the > subject"Gambas Mailing List Etiquette" to start a new thread. > No. The the hijacked thread was "Question about gambas and raspberry", and the new thread for etiquette was: "Re: [Gambas-user] Gambas Mailing List Etiquette (was Question about gambas and raspberry)" And now we are in "Re: [Gambas-user] Gambas Mailing List Etiquette". So, three threads if you count the hijacked. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sun Apr 12 19:16:59 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 12 Apr 2020 20:16:59 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <7be373de-c9ed-94ba-f148-754823593cd2@gmail.com> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <55a456b8-1a84-42c0-3172-c036cd151f78@gmail.com> <2e1c991d-3680-88a8-d3ff-b3d831121c49@deganius.de> <7be373de-c9ed-94ba-f148-754823593cd2@gmail.com> Message-ID: > > I'm just confused as to what, going forward, is the best means, and > accepted policy for this list, of handling such a situation. > Simply, new thread for new topic. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sun Apr 12 19:37:01 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 12 Apr 2020 20:37:01 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <55a456b8-1a84-42c0-3172-c036cd151f78@gmail.com> <2e1c991d-3680-88a8-d3ff-b3d831121c49@deganius.de> <7be373de-c9ed-94ba-f148-754823593cd2@gmail.com> Message-ID: > I'm just confused as to what, going forward, is the best means, and >> accepted policy for this list, of handling such a situation. >> > > Simply, new thread for new topic. > Clarification... the human readable way is new subject line for new thread. The subject line is there to announce the topic. I don't think we should care how the new thread was created or what was its relationship to older threads. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sun Apr 12 19:46:56 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 12 Apr 2020 19:46:56 +0200 Subject: [Gambas-user] hijack (was Gambas Mailing List Etiquette) In-Reply-To: <7be373de-c9ed-94ba-f148-754823593cd2@gmail.com> References: <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <55a456b8-1a84-42c0-3172-c036cd151f78@gmail.com> <2e1c991d-3680-88a8-d3ff-b3d831121c49@deganius.de> <7be373de-c9ed-94ba-f148-754823593cd2@gmail.com> Message-ID: Am 12.04.20 um 18:51 schrieb T Lee Davidson: > So then, a thread isn't actually hijacked unless the Subject line is > changed even though the actual topic of discussion had already > changed? No sorry, you're right. > But yet, unless I misunderstood, Jussi is of the opinion that the > subject *should* have been changed. And in this case I was wrong. > I'm just confused as to what, going forward, is the best means, and > accepted policy for this list, of handling such a situation. A thread is a technical thing, defined by headers in mails which create the tree of mails following one after the other. This is a hijack: https://lists.gambas-basic.org/pipermail/user/2014-December/050908.html There a user replied to a mail inside a thread and changed the subject. In reality he wanted to create a new thread but thought it would be sufficient to reply and change just the subject. So a hijack IMO is a mistake. It is not necessarily a hijack, if someone changes the subject. If in a very long thread the topic of a discussion changes, and someone changes the subject accordingly to the topic of the discussion it cannot be called a hijack, so I was wrong in case of our thread we're currently discussing in. Please forgive me. As you see, "hijack" is not a technical thing with a solid definition. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Sun Apr 12 19:57:36 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 12 Apr 2020 19:57:36 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> Message-ID: <715e9d8a-b895-e1fe-0076-3224c7298709@deganius.de> Am 12.04.20 um 19:15 schrieb Jussi Lahtinen: > > No. The right thing would have been to post a new mail with the > subject"Gambas Mailing List Etiquette" to start a new thread. > > > No. The the hijacked thread was "Question about gambas and raspberry", > and the new thread for etiquette was: > "Re: [Gambas-user] Gambas Mailing List Etiquette (was Question about > gambas and raspberry)" > And now we are in "Re: [Gambas-user] Gambas Mailing List Etiquette". > > So, three threads if you count the hijacked. No :-) One thread with different subjects and topics. Now 4. ;-) As you can see here: https://lists.gambas-basic.org/pipermail/user/2020-April/thread.html#68949 It is one thread. Defined by the headers in the mails. And it was not hijacked, because Lee changed the subject accordingly to the topic. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From jussi.lahtinen at gmail.com Sun Apr 12 22:54:29 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 12 Apr 2020 23:54:29 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <715e9d8a-b895-e1fe-0076-3224c7298709@deganius.de> References: <3b1e4787-0b0f-3690-6d98-81bd6e118cba@gmail.com> <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <715e9d8a-b895-e1fe-0076-3224c7298709@deganius.de> Message-ID: > > It is one thread. Defined by the headers in the mails. > We seem to have different definition for a thread. And I'm not sure the definition you are using is useful/practical. But for simplicity, let's say it this way; group of emails discussing the same topic, should have the same subject line. We are wasting a lot of time for very small gains and merely complicating simple issues. My suggestion: We drop the discussion and revisit it again, IF, we cannot fix our personal readability issues by fixing/adjusting/changing our preferred email client. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tiscali.it Sun Apr 12 23:22:49 2020 From: vuott at tiscali.it (vuott at tiscali.it) Date: Sun, 12 Apr 2020 23:22:49 +0200 Subject: [Gambas-user] =?utf-8?q?How_to_create_MediaControl_with_specific?= =?utf-8?q?_Type=3F?= In-Reply-To: <054cf751-fab5-2a86-2d93-785e5187c858@gmail.com> References: <054cf751-fab5-2a86-2d93-785e5187c858@gmail.com> Message-ID: <4b150271dbe8d03d101acdd557f6a804@tiscali.it> Hello, you have use a "MediaPipeline" as MediaContatiner Parent. Exemplum: _Public hControl As MediaControl_ _ Public Sub Main()_ _ Dim pl As MediaPipeline_ _ pl = New MediaPipeline _ _ hControl = New MediaControl(PL, "fdsink")_ ...etc.... and _ hControl["fd"] = ... _doesn't want a String, it wants an "Integer" value. Il 12.04.2020 18:45 T Lee Davidson ha scritto: > I am trying to create a new MediaControl with the Type="fdsink". But, I get errors on creation. > > It seems that to specify a Type, a Parent must also be specified else I get a "Null object" error. > > Given this: > ' Gambas module file > > Public hMediaContainer As MediaContainer > Public hControl As MediaControl > > Public Sub Main() > > ' hMediaContainer = New MediaContainer As "hMediaContainer" > hControl = New MediaControl(Null, "fdsink") As "hControl" > hControl["fd"] = "myfile.mp4" > > End > > I get "Null object" on New MediaControl. > > If I uncomment so as to create a new MediaContainer to be used as Parent for the MediaControl, > (ie: hControl = New MediaControl(hMediaContainer, "fdsink") As "hControl"), > I get "Null object" on New MediaContainer. > > If I try hPlayer = New MediaPlayer(Null, "fdsink") As "hPlayer", the IDE console displays an error: > GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed > > So it appears that a Parent is required. > > How can a specific Type be specified when there is no parent? > > -- Lee ----[ http://gambaswiki.org/wiki/doc/netiquette [1] ]---- Con Tiscali Mobile Smart 30 4G hai minuti illimitati, 100 SMS e 30 Giga in 4G a soli 8,99? al mese. http://tisca.li/smart30 -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Mon Apr 13 09:58:01 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Mon, 13 Apr 2020 09:58:01 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <715e9d8a-b895-e1fe-0076-3224c7298709@deganius.de> Message-ID: <02ae2f15-4dd5-263a-dd69-64b1e21f9e33@deganius.de> Am 12.04.20 um 22:54 schrieb Jussi Lahtinen: > It is one thread. Defined by the headers in the mails. > > We seem to have different definition for a thread. For mail there is a definition what a thread is: https://tools.ietf.org/html/rfc2822#section-3.6.4 It's not a matter of taste. > But for simplicity, let's say it this way; group of emails discussing > the same topic, should have the same subject line. Yes. > My suggestion: We drop the discussion and revisit it again, IF, we > cannot fix our personal readability issues by fixing/adjusting/changing > our preferred email client. Ok, I am with you. There are more important things to talk about in the Gambas mailing list. happy easter everybody Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From jussi.lahtinen at gmail.com Mon Apr 13 19:24:29 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 13 Apr 2020 20:24:29 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <02ae2f15-4dd5-263a-dd69-64b1e21f9e33@deganius.de> References: <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <715e9d8a-b895-e1fe-0076-3224c7298709@deganius.de> <02ae2f15-4dd5-263a-dd69-64b1e21f9e33@deganius.de> Message-ID: For mail there is a definition what a thread is: > https://tools.ietf.org/html/rfc2822#section-3.6.4 > > It's not a matter of taste. > No. There is no definition for thread, just suggestion what can be used (but it is a bad idea). *'"References:" field may be used to identify a "thread" of conversation.'* https://www.merriam-webster.com/dictionary/thread *: a series of electronic messages (as on a message board or social media website) following a single topic or in response to a single message* Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Mon Apr 13 22:18:39 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Mon, 13 Apr 2020 22:18:39 +0200 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: References: <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <715e9d8a-b895-e1fe-0076-3224c7298709@deganius.de> <02ae2f15-4dd5-263a-dd69-64b1e21f9e33@deganius.de> Message-ID: <233698a0-f205-12b1-ba33-a68ad94cf806@deganius.de> Am 13.04.20 um 19:24 schrieb Jussi Lahtinen: > > For mail there is a definition what a thread is: > https://tools.ietf.org/html/rfc2822#section-3.6.4 > > It's not a matter of taste. > > > No. There is no definition for thread, just suggestion what can be used > (but it is a bad idea). > /'"References:" field *may* be used to identify a "thread" of > conversation.'/ Ok, you're right, in fact there is only a small couple of clients which support this really bad idea: https://en.wikipedia.org/wiki/Comparison_of_email_clients#General_features And now i'm done with this thread. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From brian at westwoodsvcs.com Mon Apr 13 23:45:04 2020 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 13 Apr 2020 14:45:04 -0700 (PDT) Subject: [Gambas-user] Is it possible to do both read and write to the same process thru exec Message-ID: <166297513.20160.1586814304664.JavaMail.zimbra@westwoodsvcs.com> Is it possible to do read and write to the same process example mmproc = exec ["gtee"] for read write as "rr" gtee just reads stdin and writes stdout very simple program to test how to get exec read write working if i do both then i can write mmproc.begin() print #mmproc, "sdfffffffffffffffffffffffffffffffffff\nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\n" mmproc.send() I tried to do a mmproc.close() but I just get a kill signal rr_kill() But no read event is ever recieved in my process from mmproc defined events are public sub rr_read() ....... end public sub rr_error(xx as string) ...... end if I only do the write then gtee displays the output to the console if i only do read then gtee will read from the console and when it writes rr_read is called Am I doing something wrong here? Could use some input??? L.O.L Thank You Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Apr 14 00:13:14 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 14 Apr 2020 01:13:14 +0300 Subject: [Gambas-user] Gambas Mailing List Etiquette In-Reply-To: <233698a0-f205-12b1-ba33-a68ad94cf806@deganius.de> References: <3ecefd6f-8db6-d793-9d7b-fdde8d656f85@deganius.de> <74e3368c-fbae-c5fa-2e16-5e94ffa3fe9f@gmail.com> <22e8ffb9-9a78-d04c-6c46-7d0e119b4924@deganius.de> <81c1f784-d409-77fa-d79b-41ad4b26a370@deganius.de> <2528c166-a9db-06bd-3660-908857e4f075@gmail.com> <715e9d8a-b895-e1fe-0076-3224c7298709@deganius.de> <02ae2f15-4dd5-263a-dd69-64b1e21f9e33@deganius.de> <233698a0-f205-12b1-ba33-a68ad94cf806@deganius.de> Message-ID: > > Ok, you're right, in fact there is only a small couple of clients which > support this really bad idea: > > https://en.wikipedia.org/wiki/Comparison_of_email_clients#General_features I'm not sure what that is supposed to prove. It's bad idea to rely on optional protocol features, especially when the end result is confusing (example multiple topics in one "thread"). However, adding support for such feature is good service for those who need it for something. And now i'm done with this thread. > Thread or topic? :) Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Apr 14 00:23:24 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 14 Apr 2020 01:23:24 +0300 Subject: [Gambas-user] Is it possible to do both read and write to the same process thru exec In-Reply-To: <166297513.20160.1586814304664.JavaMail.zimbra@westwoodsvcs.com> References: <166297513.20160.1586814304664.JavaMail.zimbra@westwoodsvcs.com> Message-ID: > I tried to do a mmproc.close() but I just get a kill signal rr_kill() > This is expected as you close the process. But no read event is ever recieved in my process from mmproc > What the gtee is trying to write? Your code is writing to the gtee process, but nothing to the other direction. Can you show more code? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Apr 14 00:29:26 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 14 Apr 2020 01:29:26 +0300 Subject: [Gambas-user] Is it possible to do both read and write to the same process thru exec In-Reply-To: References: <166297513.20160.1586814304664.JavaMail.zimbra@westwoodsvcs.com> Message-ID: No, I lied... close is for stream. I think there is something odd in the gtee. Jussi On Tue, Apr 14, 2020 at 1:23 AM Jussi Lahtinen wrote: > > I tried to do a mmproc.close() but I just get a kill signal rr_kill() >> > > This is expected as you close the process. > > > But no read event is ever recieved in my process from mmproc >> > > What the gtee is trying to write? Your code is writing to the gtee > process, but nothing to the other direction. > Can you show more code? > > > Jussi > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Apr 14 02:47:24 2020 From: brian at westwoodsvcs.com (brian at westwoodsvcs.com) Date: Tue, 14 Apr 2020 03:47:24 +0300 Subject: [Gambas-user] =?utf-8?q?Is_it_possible_to_do_both_read_and_write?= =?utf-8?q?_to_the_same_process_thru_exec?= In-Reply-To: References: <166297513.20160.1586814304664.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1586825244.392429456@f37.my.com> Ok, it is the same if I use 'cat' Input output seem to work unreliably and read write simply do not work together. I wonder if there is a work around For me anyway -- Thanks Brian Monday, 13 April 2020, 03:30PM -07:00 from Jussi Lahtinen jussi.lahtinen at gmail.com : >No, I lied... close is for stream. I think there is something odd in the gtee. > > >Jussi > >On Tue, Apr 14, 2020 at 1:23 AM Jussi Lahtinen < jussi.lahtinen at gmail.com> wrote: >> >>>I tried to do a mmproc.close() but I just get a kill signal rr_kill() >> >>This is expected as you close the process. >> >> >>>But no read event is ever recieved in my process from mmproc >> >>What the gtee is trying to write? Your code is writing to the gtee process, but nothing to the other direction. >>Can you show more code? >> >> >>Jussi > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Apr 14 03:23:52 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 14 Apr 2020 04:23:52 +0300 Subject: [Gambas-user] Is it possible to do both read and write to the same process thru exec In-Reply-To: <1586825244.392429456@f37.my.com> References: <166297513.20160.1586814304664.JavaMail.zimbra@westwoodsvcs.com> <1586825244.392429456@f37.my.com> Message-ID: Works here. See attachment. Do you do something differently? Jussi On Tue, Apr 14, 2020 at 4:14 AM wrote: > Ok, it is the same if I use 'cat' > > Input output seem to work unreliably and read write simply do not work > together. > I wonder if there is a work around > > For me anyway > -- > Thanks > Brian > Monday, 13 April 2020, 03:30PM -07:00 from Jussi Lahtinen > jussi.lahtinen at gmail.com: > > No, I lied... close is for stream. I think there is something odd in the > gtee. > > > Jussi > > On Tue, Apr 14, 2020 at 1:23 AM Jussi Lahtinen > wrote: > > > I tried to do a mmproc.close() but I just get a kill signal rr_kill() > > > This is expected as you close the process. > > > But no read event is ever recieved in my process from mmproc > > > What the gtee is trying to write? Your code is writing to the gtee > process, but nothing to the other direction. > Can you show more code? > > > Jussi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ReadWrite-0.0.1.tar.gz Type: application/gzip Size: 11731 bytes Desc: not available URL: From pierre.deswysen at gmail.com Tue Apr 14 10:02:11 2020 From: pierre.deswysen at gmail.com (Pierre Deswysen) Date: Tue, 14 Apr 2020 10:02:11 +0200 Subject: [Gambas-user] How many gambas3 timer on a raspberry Message-ID: Hello, On a gambas3 app, can I use +/- 25 timer on a raspberry 4? Each timer is set between 100ms and 1000ms. Best regards Pierre -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Apr 14 11:20:48 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 14 Apr 2020 11:20:48 +0200 Subject: [Gambas-user] gb.media record to file In-Reply-To: References: <20200412114757.M52330@455.co.il> Message-ID: <3b9dd661-8b9e-e6b7-dd62-3bd232dc61f7@gmail.com> Le 12/04/2020 ? 18:27, T Lee Davidson a ?crit?: > On 4/12/20 7:49 AM, Mayost Sharon wrote: >> Hello >> >> Can I get help on how to record a file from a camera? > [snip] >> >> >> To save the file I got in trouble >> I tried to read the documentation here: >> https://gstreamer.freedesktop.org/documentation/?gi-language=c >> >> And even more complicated I wrote it in C language >> >> Thank you > > I think you're going to need to utilize a MediaControl with the Type > (plugin type) set to "fdsink". > See: > http://gambaswiki.org/wiki/comp/gb.media/mediacontrol/_new , and > https://gstreamer.freedesktop.org/documentation/coreelements/fdsink.html > > However, I am having difficulty accomplishing that, so I cannot help you > with how. > > gb.media is a direct interface to gstreamer. So the first thing to do is finding how to do what you want to do in gstreamer. Once done, you translate into gb.media API, and either it works, either there is something missing in gb.media that needs to be implemented. Just find first how to record a camera with gstreamer, and I would be able to help you to translate that into gb.media code. Regards, -- Beno?t Minisini From g4mba5 at gmail.com Tue Apr 14 11:28:06 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 14 Apr 2020 11:28:06 +0200 Subject: [Gambas-user] How many gambas3 timer on a raspberry In-Reply-To: References: Message-ID: Le 14/04/2020 ? 10:02, Pierre Deswysen a ?crit?: > Hello, > > On a gambas3 app, can I use +/- 25 timer on a raspberry 4? > > Each timer is set between 100ms and 1000ms. > > Best regards > > Pierre > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > There is no limit on the number of timers in Gambas. But... if you use a GUI toolkit (GTK+ or QT), the Gambas timer object has to be associated with a Glib or QT timer object so that the event loop of these toolkits can process them. And I don't know if there is a limit in GTK+ or QT. I don't think so. So, in other words, just try to see how many timers you can create. :-) -- Beno?t Minisini From sharon at 455.co.il Tue Apr 14 16:47:32 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Tue, 14 Apr 2020 17:47:32 +0300 Subject: [Gambas-user] gb.media record to file In-Reply-To: References: <20200412114757.M52330@455.co.il> Message-ID: <20200414144721.M69976@455.co.il> First, thank you I tried the first example and it helps me a lot. When I want to change the recording to 30/1 frame per second it doesn't work, the file stays 2.8kB Only if I leave on 1/1 does it record the screen. I tried on Beno?t Minisini's recommendation to try the gst-launch-1.0 tool and it does work when I change to 30/1 The command is: gst-launch-1.0 ximagesrc! video / x-raw, framerate = 30/1! videoconvert! theoraenc! oggmux! filesink location = desktop.ogg Thanks ---------- Original Message ----------- From: Gianluigi To: Gambas Mailing List Sent: Sun, 12 Apr 2020 19:14:37 +0200 Subject: Re: [Gambas-user] gb.media record to file > Il giorno dom 12 apr 2020 alle ore 13:51 Mayost Sharon > ha scritto: > > > Hello > > > > Can I get help on how to record a file from a camera? > > To turn on the camera I managed: > > > > Hi, > > I recommend these pages of the Italian wiki: > https://www.gambas-it.org/wiki/index.php?title=La_gestione_del_video_e_dei_file_video_con_il_componente_gb.media > > Regards > Gianluigi ------- End of Original Message ------- From pierre.deswysen at gmail.com Tue Apr 14 17:56:50 2020 From: pierre.deswysen at gmail.com (Pierre Deswysen) Date: Tue, 14 Apr 2020 17:56:50 +0200 Subject: [Gambas-user] How many gambas3 timer on a raspberry In-Reply-To: References: Message-ID: Hello Beno?t, Thanks for your advice Pierre Le mar. 14 avr. 2020 ? 11:29, Beno?t Minisini a ?crit : > Le 14/04/2020 ? 10:02, Pierre Deswysen a ?crit : > > Hello, > > > > On a gambas3 app, can I use +/- 25 timer on a raspberry 4? > > > > Each timer is set between 100ms and 1000ms. > > > > Best regards > > > > Pierre > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > There is no limit on the number of timers in Gambas. > > But... if you use a GUI toolkit (GTK+ or QT), the Gambas timer object > has to be associated with a Glib or QT timer object so that the event > loop of these toolkits can process them. And I don't know if there is a > limit in GTK+ or QT. I don't think so. > > So, in other words, just try to see how many timers you can create. :-) > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From yrodas at upnfm.edu.hn Wed Apr 15 05:12:04 2020 From: yrodas at upnfm.edu.hn (Yeshua Rodas) Date: Tue, 14 Apr 2020 21:12:04 -0600 Subject: [Gambas-user] Support for edit "Panel" as a Form from the IDE Message-ID: Hello folks. I was looking around withound find a solution that matches my intention. You'll see: I have a main Form that has a TabPanel as the principal GUI for my App. So, for many forms that I want to implement, instead of creating a Form (Window) for each one, I want to create a "Panel" for each one and attach it to a new Tab of the TabPanel. Also, would be nice to be able to code the logic of each Panel just as is done on the Forms. Or, in other words: to be able to create a non Window Form that can be put into a Tab of a Tab Panel. If someone has any idea or example about how I can achieve that, I would be very thankful. -- E. Yeshua Rodas DTI - UPNFM -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Wed Apr 15 10:21:23 2020 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 15 Apr 2020 10:21:23 +0200 Subject: [Gambas-user] Support for edit "Panel" as a Form from the IDE In-Reply-To: References: Message-ID: Il giorno mer 15 apr 2020 alle ore 05:13 Yeshua Rodas ha scritto: > Hello folks. > > I was looking around withound find a solution that matches my intention. > ... > If someone has any idea or example about how I can achieve that, I would > be very thankful. > Hi, I think it is better to have many windows shown in a workspace. You can see how the main window of the Gambas IDE is made. Here you can see GPW-1(*) a first simplification sketch for a future (never born) example. Regards Gianluigi (*) https://lists.gambas-basic.org/pipermail/user/2018-September/065552.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed Apr 15 20:04:14 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 15 Apr 2020 14:04:14 -0400 Subject: [Gambas-user] gb.media record to file In-Reply-To: <20200414144721.M69976@455.co.il> References: <20200412114757.M52330@455.co.il> <20200414144721.M69976@455.co.il> Message-ID: <3faa5f5a-eee4-584f-a472-cceb2b35cba3@gmail.com> On 4/14/20 10:47 AM, Mayost Sharon wrote: > First, thank you > > I tried the first example and it helps me a lot. > > When I want to change the recording to 30/1 frame per second it doesn't work, the file stays 2.8kB > Only if I leave on 1/1 does it record the screen. > > I tried on Beno?t Minisini's recommendation to try the gst-launch-1.0 tool and it does work when I change to 30/1 > The command is: > gst-launch-1.0 ximagesrc! video / x-raw, framerate = 30/1! videoconvert! theoraenc! oggmux! filesink location = desktop.ogg > > Thanks > [snip] >> >> Hi, >> >> I recommend these pages of the Italian wiki: >> https://www.gambas-it.org/wiki/index.php?title=La_gestione_del_video_e_dei_file_video_con_il_componente_gb.media >> >> Regards >> Gianluigi > ------- End of Original Message ------- > The command line you gave does not work for me. For a 10 second screen capture, it gives a video file of only about 1 second. However, gst-launch-1.0 ximagesrc ! video/x-raw,framerate=5/1 ! videoconvert ! theoraenc ! oggmux ! filesink location=desktop.ogg does work for me giving a video length nearly equal to the length of the screen capture. https://gstreamer.freedesktop.org/documentation/ximagesrc/index.html states that the framerate of ximagesrc defaults to 25 fps. Even so, bypassing (ie. not using) the filter still gives me a short video file. I don't know why that is, and my research has so far not enlightened me. It seems, though, that the last three examples linked on the page Gianluigi recommended would be more suited to your stated objective of capturing camera output to a file. -- Lee P.S. Please don't top post. ? ? ? ? ? From yrodas at upnfm.edu.hn Wed Apr 15 22:13:55 2020 From: yrodas at upnfm.edu.hn (Yeshua Rodas) Date: Wed, 15 Apr 2020 14:13:55 -0600 Subject: [Gambas-user] Support for edit "Panel" as a Form from the IDE In-Reply-To: References: Message-ID: Thank you. However, actually I just Discovered that is possible to do: ' Add a new tab tabPanel.Count += 1 TabPanel.Index = tabPanel.Count - 1 tabPanel.Current.Text = "FooBar" Dim aForm As MyForm = New MyForm(TabPanel.Current) And it works perfectly. O.O El mi?., 15 abr. 2020 a las 2:22, Gianluigi () escribi?: > > > Il giorno mer 15 apr 2020 alle ore 05:13 Yeshua Rodas > ha scritto: > >> Hello folks. >> >> I was looking around withound find a solution that matches my intention. >> ... >> If someone has any idea or example about how I can achieve that, I would >> be very thankful. >> > > Hi, > > I think it is better to have many windows shown in a workspace. > You can see how the main window of the Gambas IDE is made. > Here you can see GPW-1(*) a first simplification sketch for a future > (never born) example. > > Regards > Gianluigi > > (*) > https://lists.gambas-basic.org/pipermail/user/2018-September/065552.html > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- E. Yeshua Rodas DTI - UPNFM -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Fri Apr 17 06:56:24 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Fri, 17 Apr 2020 10:41:24 +0545 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form Message-ID: Hi Can you please provide an example in gb.web/gb.web.form so that I can convert a HTML file into PDF and download it or send to printer. From gambas.fr at gmail.com Fri Apr 17 17:08:20 2020 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 17 Apr 2020 17:08:20 +0200 Subject: [Gambas-user] Support for edit "Panel" as a Form from the IDE In-Reply-To: References: Message-ID: > > Dim aForm As MyForm = New MyForm(TabPanel.Current) More shortly Dim aForm As New MyForm(TabPanel.Current) From gambas.fr at gmail.com Fri Apr 17 17:34:40 2020 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 17 Apr 2020 17:34:40 +0200 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: Le ven. 17 avr. 2020 ? 06:57, Safiur Rahman a ?crit : > > Hi > Can you please provide an example in gb.web/gb.web.form so that I can > convert a HTML file into PDF and download it or send to printer. You have to use an external application to do that. Or genertate pdf via another way. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Fabien Bodard Gambas Basic : http://gambas.sf.net GambasForge : http://www.gambasforge.org NEW discourse Gambas Forum : https://gambas.discourse.group/ From t.lee.davidson at gmail.com Fri Apr 17 19:23:53 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 17 Apr 2020 13:23:53 -0400 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: <58987c16-30ff-94bb-dff7-446c7cbe08e3@gmail.com> On 4/17/20 12:56 AM, Safiur Rahman wrote: > Hi > Can you please provide an example in gb.web/gb.web.form so that I can > convert a HTML file into PDF and download it or send to printer. > Perhaps the following would work for you. In a WebForm class: Public Sub WebButton1_Click() Me.Exec("window.print()") End It does not convert the HTML into a PDF, but it allows the user the choice of printing to a printer or printing to a file (PDF). -- Lee From isafiur at gmail.com Fri Apr 17 21:12:24 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 18 Apr 2020 00:57:24 +0545 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: Thank you very much Can you provide an example of forcing a file to download. I couldn't do it. On 4/17/20, Safiur Rahman wrote: > Hi > Can you please provide an example in gb.web/gb.web.form so that I can > convert a HTML file into PDF and download it or send to printer. > -- Regards Safiur Rahman From t.lee.davidson at gmail.com Sat Apr 18 00:04:03 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 17 Apr 2020 18:04:03 -0400 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: <1ce601ff-ca0d-c144-7212-7769de889f85@gmail.com> On 4/17/20 3:12 PM, Safiur Rahman wrote: > Thank you very much > Can you provide an example of forcing a file to download. I couldn't do it. Perhaps: http://gambaswiki.org/wiki/comp/gb.web.form/webform/download If you truly wish to convert the HTML to a PDF file, you will need to use an external program such as html2pdf (or html2ps -> ps2pdf), htmldoc, wkhtmltopdf, etc. as has already been mentioned. If none of these are installed on the server, you will of course need authority to install them. You will also need to capture the form's HTML content. I have not tried it, but maybe something like this would work: Dim myHtml as String Output To myHtml WebForm.Render() Output To Default Then Shell out to your preferred PDF converter utility to create the PDF file, and trigger the download with WebForm.Download. -- Lee From Karl.Reinl at Fen-Net.de Sun Apr 19 15:04:35 2020 From: Karl.Reinl at Fen-Net.de (Charlie Reinl) Date: Sun, 19 Apr 2020 15:04:35 +0200 Subject: [Gambas-user] _TreeView_Item.Height in TreeView Message-ID: Salut, does anybody know a way, to change the _TreeView_Item.Height (readonly),in a TreeView. -- Amicalement Charlie From g4mba5 at gmail.com Sun Apr 19 15:28:46 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 19 Apr 2020 15:28:46 +0200 Subject: [Gambas-user] _TreeView_Item.Height in TreeView In-Reply-To: References: Message-ID: Le 19/04/2020 ? 15:04, Charlie Reinl a ?crit?: > Salut, > > does anybody know a way, to change the _TreeView_Item.Height > (readonly),in a TreeView. > You can't. It's the treeview that decides the height of each row. -- Beno?t Minisini From Karl.Reinl at Fen-Net.de Sun Apr 19 16:38:07 2020 From: Karl.Reinl at Fen-Net.de (Charlie Reinl) Date: Sun, 19 Apr 2020 16:38:07 +0200 Subject: [Gambas-user] _TreeView_Item.Height in TreeView In-Reply-To: References: Message-ID: Am Sonntag, den 19.04.2020, 15:28 +0200 schrieb Beno?t Minisini: > Le 19/04/2020 ? 15:04, Charlie Reinl a ?crit : > > Salut, > > > > does anybody know a way, to change the _TreeView_Item.Height > > (readonly),in a TreeView. > > > > You can't. It's the treeview that decides the height of each row. > So can you spend a Alignment Property to _TreeView_Item, at leased something to see the first line, on multiline Text. I have some multiline Text to handle with, and like actually the Output is ugly. -- Amicalement Charlie From ian.roper at iinet.net.au Mon Apr 20 10:00:51 2020 From: ian.roper at iinet.net.au (Ian Roper) Date: Mon, 20 Apr 2020 16:00:51 +0800 Subject: [Gambas-user] Exec using lowriter Message-ID: <22dab00b-c5c5-a0b2-56c8-7750661fb9b8@iinet.net.au> Greetings, I can run [????? lowriter '{path of document}'???? ] from a command line and it works perfectly. The desired outcome is that it opens the file in Libre office as a document. If I run this command with an Exec ["lowriter '{path of document}'"] from Gambas then it fails with the error message of "File Or Folder not found" This error message is consistent with typing in an incorrect path on the command line. I have meticulously checked the path used in Exec and it is correct. - I've searched Libre/Open office errors but nothing I can find about calling it from within a program. Anybody have any ideas to check ? [System] Gambas=3.14.3 OperatingSystem=Linux Kernel=5.3.0-46-generic Architecture=x86_64 Distribution=Linux Mint 19.3 Tricia Desktop=CINNAMON Theme=Gtk Language=en_AU.UTF-8 Memory=3808M [Libraries] Cairo=libcairo.so.2.11510.0 Curl=libcurl.so.4.5.0 DBus=libdbus-1.so.3.19.4 GStreamer=libgstreamer-1.0.so.0.1405.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2200.30 OpenGL=libGL.so.1.0.0 Poppler=libpoppler.so.73.0.0 QT4=libQtCore.so.4.8.7 QT5=libQt5Core.so.5.9.5 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] CINNAMON_VERSION=4.4.8 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path DESKTOP_SESSION=cinnamon DISPLAY=:0 GB_GUI=gb.qt4 GDMSESSION=cinnamon GDM_LANG=en_AU GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=13576 GJS_DEBUG_OUTPUT=stderr GJS_DEBUG_TOPICS=JS ERROR;JS LOG GNOME_DESKTOP_SESSION_ID=this-is-deprecated GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_MODULES=gail:atk-bridge GTK_OVERLAY_SCROLLING=1 HOME= LANG=en_AU.UTF-8 LANGUAGE=en_AU.UTF-8 LOGNAME= MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games PWD= QT_ACCESSIBILITY=1 QT_QPA_PLATFORMTHEME=qt5ct SESSION_MANAGER=local/:@/tmp/.ICE-unix/1485,unix/:/tmp/.ICE-unix/1485 SHELL=/bin/bash SHLVL=0 SSH_AGENT_PID=1549 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg XDG_CURRENT_DESKTOP=X-Cinnamon XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_DESKTOP=cinnamon XDG_SESSION_ID=c2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 From adamnt42 at gmail.com Mon Apr 20 10:52:16 2020 From: adamnt42 at gmail.com (Bruce) Date: Mon, 20 Apr 2020 18:22:16 +0930 Subject: [Gambas-user] Exec using lowriter In-Reply-To: <22dab00b-c5c5-a0b2-56c8-7750661fb9b8@iinet.net.au> References: <22dab00b-c5c5-a0b2-56c8-7750661fb9b8@iinet.net.au> Message-ID: Quicky, try Exec ["lowriter", "{path of document}"] or whatever the correct syntax is, b On 20/4/20 5:30 pm, Ian Roper wrote: > Greetings, > > I can run [?????????? lowriter '{path of document}'???????? ] from a > command line and it works perfectly. > > The desired outcome is that it opens the file in Libre office as a > document. > > If I run this command with an Exec ["lowriter '{path of document}'"] > from Gambas then it fails with the error message of "File Or Folder not > found" > > This error message is consistent with typing in an incorrect path on the > command line. > > I have meticulously checked the path used in Exec and it is correct. > > - I've searched Libre/Open office errors but nothing I can find about > calling it from within a program. > > Anybody have any ideas to check ? > > > > [System] > Gambas=3.14.3 > OperatingSystem=Linux > Kernel=5.3.0-46-generic > Architecture=x86_64 > Distribution=Linux Mint 19.3 Tricia > Desktop=CINNAMON > Theme=Gtk > Language=en_AU.UTF-8 > Memory=3808M > > [Libraries] > Cairo=libcairo.so.2.11510.0 > Curl=libcurl.so.4.5.0 > DBus=libdbus-1.so.3.19.4 > GStreamer=libgstreamer-1.0.so.0.1405.0 > GTK+2=libgtk-x11-2.0.so.0.2400.32 > GTK+3=libgtk-3.so.0.2200.30 > OpenGL=libGL.so.1.0.0 > Poppler=libpoppler.so.73.0.0 > QT4=libQtCore.so.4.8.7 > QT5=libQt5Core.so.5.9.5 > SDL=libSDL-1.2.so.0.11.4 > SQLite=libsqlite3.so.0.8.6 > > [Environment] > CINNAMON_VERSION=4.4.8 > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path > DESKTOP_SESSION=cinnamon > DISPLAY=:0 > GB_GUI=gb.qt4 > GDMSESSION=cinnamon > GDM_LANG=en_AU > GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop > GIO_LAUNCHED_DESKTOP_FILE_PID=13576 > GJS_DEBUG_OUTPUT=stderr > GJS_DEBUG_TOPICS=JS ERROR;JS LOG > GNOME_DESKTOP_SESSION_ID=this-is-deprecated > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > GTK_MODULES=gail:atk-bridge > GTK_OVERLAY_SCROLLING=1 > HOME= > LANG=en_AU.UTF-8 > LANGUAGE=en_AU.UTF-8 > LOGNAME= > MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games > > PWD= > QT_ACCESSIBILITY=1 > QT_QPA_PLATFORMTHEME=qt5ct > SESSION_MANAGER=local/:@/tmp/.ICE-unix/1485,unix/:/tmp/.ICE-unix/1485 > > SHELL=/bin/bash > SHLVL=0 > SSH_AGENT_PID=1549 > SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > TZ=:/etc/localtime > USER= > XAUTHORITY=/.Xauthority > XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg > XDG_CURRENT_DESKTOP=X-Cinnamon > XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share > > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ > XDG_RUNTIME_DIR=/run/user/1000 > XDG_SEAT=seat0 > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_SESSION_DESKTOP=cinnamon > XDG_SESSION_ID=c2 > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_SESSION_TYPE=x11 > XDG_VTNR=7 > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adamnt42 at gmail.com Mon Apr 20 10:55:05 2020 From: adamnt42 at gmail.com (Bruce) Date: Mon, 20 Apr 2020 18:25:05 +0930 Subject: [Gambas-user] Exec using lowriter In-Reply-To: <22dab00b-c5c5-a0b2-56c8-7750661fb9b8@iinet.net.au> References: <22dab00b-c5c5-a0b2-56c8-7750661fb9b8@iinet.net.au> Message-ID: <3d93d94e-a848-88a0-c753-25192c7789ee@gmail.com> On 20/4/20 5:30 pm, Ian Roper wrote: > Greetings, > > I can run [?????????? lowriter '{path of document}'???????? ] from a > command line and it works perfectly. > > The desired outcome is that it opens the file in Libre office as a > document. Oh and I forgot. Don't forget there is no bash expansion of paths with Exec so you must use the fully qualified path. No "~/" or anything. From mckaygerhard at gmail.com Mon Apr 20 18:26:38 2020 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Mon, 20 Apr 2020 12:26:38 -0400 Subject: [Gambas-user] AppImage and WLS2 In-Reply-To: References: Message-ID: it sound like a windoser request! puff 2020-03-28 9:26 GMT-04:00, martin p cristia : > Hi, hope everyone is well. > > This is more like an "feature request": > > Do you thing is possible to move from "Executable" programs to an > AppImage single file that includes Gambas runtimes and all its needed? > > I just ran into this while installing MeshLab from "Ubuntu Software" > only to find it won't start. After it, downloaded the AppImage from > MeshLab website, ran it from where it landed , "Downloads" for the case, > to find it finally works. > > I beleive our end users, linux begginers, people not interested in > programming will love it. > > Also, I've done testing in the upcomming WLS2 into the Windows Insider > Program to find that Gambas3 run flawlessly and very fast, only seen 10% > loss of speed in benchmarks with my software. As opposite WLS is pretty > unusable with hungs all the time. > > But from a barebone Windows to and Gambas3 app running is a very long > and tedious way, and will continue to be, wich can be cut in half by > having the possibility of the AppImage. > > Stay safe at home. For us, that's never a problem! > > > -- > Saludos > > Ing. Martin P Cristia > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Lenz McKAY Gerardo (PICCORO) http://qgqlochekone.blogspot.com From jussi.lahtinen at gmail.com Mon Apr 20 20:44:23 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 20 Apr 2020 21:44:23 +0300 Subject: [Gambas-user] Exec using lowriter In-Reply-To: <22dab00b-c5c5-a0b2-56c8-7750661fb9b8@iinet.net.au> References: <22dab00b-c5c5-a0b2-56c8-7750661fb9b8@iinet.net.au> Message-ID: Use Shell if the path contains ~ or so. Jussi On Mon, Apr 20, 2020 at 11:11 AM Ian Roper wrote: > Greetings, > > I can run [ lowriter '{path of document}' ] from a command line > and it works perfectly. > > The desired outcome is that it opens the file in Libre office as a > document. > > If I run this command with an Exec ["lowriter '{path of document}'"] > from Gambas then it fails with the error message of "File Or Folder not > found" > > This error message is consistent with typing in an incorrect path on the > command line. > > I have meticulously checked the path used in Exec and it is correct. > > - I've searched Libre/Open office errors but nothing I can find about > calling it from within a program. > > Anybody have any ideas to check ? > > > > [System] > Gambas=3.14.3 > OperatingSystem=Linux > Kernel=5.3.0-46-generic > Architecture=x86_64 > Distribution=Linux Mint 19.3 Tricia > Desktop=CINNAMON > Theme=Gtk > Language=en_AU.UTF-8 > Memory=3808M > > [Libraries] > Cairo=libcairo.so.2.11510.0 > Curl=libcurl.so.4.5.0 > DBus=libdbus-1.so.3.19.4 > GStreamer=libgstreamer-1.0.so.0.1405.0 > GTK+2=libgtk-x11-2.0.so.0.2400.32 > GTK+3=libgtk-3.so.0.2200.30 > OpenGL=libGL.so.1.0.0 > Poppler=libpoppler.so.73.0.0 > QT4=libQtCore.so.4.8.7 > QT5=libQt5Core.so.5.9.5 > SDL=libSDL-1.2.so.0.11.4 > SQLite=libsqlite3.so.0.8.6 > > [Environment] > CINNAMON_VERSION=4.4.8 > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path > DESKTOP_SESSION=cinnamon > DISPLAY=:0 > GB_GUI=gb.qt4 > GDMSESSION=cinnamon > GDM_LANG=en_AU > GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop > GIO_LAUNCHED_DESKTOP_FILE_PID=13576 > GJS_DEBUG_OUTPUT=stderr > GJS_DEBUG_TOPICS=JS ERROR;JS LOG > GNOME_DESKTOP_SESSION_ID=this-is-deprecated > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > GTK_MODULES=gail:atk-bridge > GTK_OVERLAY_SCROLLING=1 > HOME= > LANG=en_AU.UTF-8 > LANGUAGE=en_AU.UTF-8 > LOGNAME= > MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path > > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games > PWD= > QT_ACCESSIBILITY=1 > QT_QPA_PLATFORMTHEME=qt5ct > > SESSION_MANAGER=local/:@/tmp/.ICE-unix/1485,unix/:/tmp/.ICE-unix/1485 > SHELL=/bin/bash > SHLVL=0 > SSH_AGENT_PID=1549 > SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > TZ=:/etc/localtime > USER= > XAUTHORITY=/.Xauthority > XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg > XDG_CURRENT_DESKTOP=X-Cinnamon > > XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ > XDG_RUNTIME_DIR=/run/user/1000 > XDG_SEAT=seat0 > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_SESSION_DESKTOP=cinnamon > XDG_SESSION_ID=c2 > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_SESSION_TYPE=x11 > XDG_VTNR=7 > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Tue Apr 21 22:25:57 2020 From: tercoide at hotmail.com (martin p cristia) Date: Tue, 21 Apr 2020 17:25:57 -0300 Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: It is posible to use the .Sort() method to sort an array of differnt Class of Objects based on a variable or property? dim myDifObj as New Object[] dim thing1 as New Class1(4) ' The class saves that number for sorting myDifObj.Add(thing1) dim thing2 as New OtherClass(3) ' The class saves that number for sorting myDifObj.Add(thing2) dim thing3 as New anOtherClass(5) ' The class saves that number for sorting myDifObj.Add(thing3) myDifObj.Sort()? ??? I can't figure how to use special method _Compare( ???)? if it's even possible. Thank you. -- Saludos Ing. Martin P Cristia From brian at westwoodsvcs.com Tue Apr 21 22:53:49 2020 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 21 Apr 2020 13:53:49 -0700 (PDT) Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: <200617864.20939.1587502429269.JavaMail.zimbra@westwoodsvcs.com> >It is posible to use the .Sort() method to sort an array of differnt >Class of Objects based on a variable or property? >I can't figure how to use special method _Compare( ???)? if it's even >possible. > >Thank you. Create a collection with the value you want to sort as keys, and the object/class as the value collections.add(myobject,value) add all the keys to a string[] array string[].add(value) use string[].sort read the objects from the collection... for i as integer = 0 to string[].max myobject = collection[string[i]] ..... ' what ever you want to do next substitute string[] and collection for what ever you dim them as as long as the values are distinct Maybe this will help Thank You Brian G From jussi.lahtinen at gmail.com Tue Apr 21 23:39:57 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 22 Apr 2020 00:39:57 +0300 Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: Interesting problem. I suggest you make the object inherit the same class, which is base for the comparison, but if you cannot do that, then you need to implement the same things in every class. See attachment for that. Jussi On Tue, Apr 21, 2020 at 11:27 PM martin p cristia wrote: > It is posible to use the .Sort() method to sort an array of differnt > Class of Objects based on a variable or property? > > dim myDifObj as New Object[] > > dim thing1 as New Class1(4) ' The class saves that number for sorting > > myDifObj.Add(thing1) > > dim thing2 as New OtherClass(3) ' The class saves that number for sorting > > myDifObj.Add(thing2) > > dim thing3 as New anOtherClass(5) ' The class saves that number for sorting > > myDifObj.Add(thing3) > > > myDifObj.Sort() ??? > > > I can't figure how to use special method _Compare( ???) if it's even > possible. > > Thank you. > > > > -- > Saludos > > Ing. Martin P Cristia > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: SortObjects-0.0.1.tar.gz Type: application/gzip Size: 11788 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Tue Apr 21 23:46:17 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 22 Apr 2020 00:46:17 +0300 Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: Hmm... no, here is the preferred method. Jussi On Wed, Apr 22, 2020 at 12:39 AM Jussi Lahtinen wrote: > Interesting problem. > I suggest you make the object inherit the same class, which is base for > the comparison, but if you cannot do that, then you need to implement the > same things in every class. See attachment for that. > > > Jussi > > On Tue, Apr 21, 2020 at 11:27 PM martin p cristia > wrote: > >> It is posible to use the .Sort() method to sort an array of differnt >> Class of Objects based on a variable or property? >> >> dim myDifObj as New Object[] >> >> dim thing1 as New Class1(4) ' The class saves that number for sorting >> >> myDifObj.Add(thing1) >> >> dim thing2 as New OtherClass(3) ' The class saves that number for sorting >> >> myDifObj.Add(thing2) >> >> dim thing3 as New anOtherClass(5) ' The class saves that number for >> sorting >> >> myDifObj.Add(thing3) >> >> >> myDifObj.Sort() ??? >> >> >> I can't figure how to use special method _Compare( ???) if it's even >> possible. >> >> Thank you. >> >> >> >> -- >> Saludos >> >> Ing. Martin P Cristia >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: SortObjects-2.tar.gz Type: application/gzip Size: 11871 bytes Desc: not available URL: From tercoide at hotmail.com Wed Apr 22 00:08:49 2020 From: tercoide at hotmail.com (martin p cristia) Date: Tue, 21 Apr 2020 19:08:49 -0300 Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: Thanks Jussi, that is what I wanted!!! -- Saludos Ing. Martin P Cristia From jussi.lahtinen at gmail.com Wed Apr 22 00:32:49 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 22 Apr 2020 01:32:49 +0300 Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: I don't know what you are going to do with the code, but keep in mind that if the object array will get objects, which does not inherit the compare method, then you will get silent sorting errors. So, either keep the variable used in the comparison in the base class or build guard for the object array. Otherwise you will end up with troubles. Jussi On Wed, Apr 22, 2020 at 1:10 AM martin p cristia wrote: > Thanks Jussi, that is what I wanted!!! > > -- > Saludos > > Ing. Martin P Cristia > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Wed Apr 22 12:49:52 2020 From: tercoide at hotmail.com (martin p cristia) Date: Wed, 22 Apr 2020 07:49:52 -0300 Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: I doing some GambasCAD program, soon to be in the Farm. The compare method is at the herited class: ' Gambas class file Inherits ClsElementoBase ??? ??? ??? ??? ??? ??? ??? ??? ' handles? Clicks and common entity vars Public Const Genero As String = "Tabique"? ??? ' who am I Public Const DrawingOrder As Integer = 20 ??? ' <-------I SORT THIS :? 1 is drawn first Public Sub _new(x1 As Float, z1 As Float, x2 As Float, z2 As Float, nivel As Float) ??? Me.P.Add(puntos.Add(X1, Z1, nivel)) End Public Function _compare(entities As Object) As Integer ??? ' all entities must have a var called DrawingOrder! ??? Return Sgn(Me.DrawingOrder - entities.DrawingOrder) End What you've suggested works perfectly. > I don't know what you are going to do with the code, but keep in mind that > if the object array will get objects, which does not inherit the compare > method, then you will get silent sorting errors. > So, either keep the variable used in the comparison in the base class or > build guard for the object array. Otherwise you will end up with troubles. > > Jussi > > -- Saludos Ing. Martin P Cristia From g4mba5 at gmail.com Wed Apr 22 13:47:39 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 22 Apr 2020 13:47:39 +0200 Subject: [Gambas-user] Sort an array of Objects[] of different Class In-Reply-To: References: Message-ID: Le 22/04/2020 ? 12:49, martin p cristia a ?crit?: > > Public Function _compare(entities As Object) As Integer > > ??? ' all entities must have a var called DrawingOrder! > > ??? Return Sgn(Me.DrawingOrder - entities.DrawingOrder) > > > End > If you want to be faster, you should replace "Object" in "entities As Object" by the parent class of all your entities. Regards, -- Beno?t Minisini From herberthguzman at gmail.com Thu Apr 23 05:44:21 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Wed, 22 Apr 2020 21:44:21 -0600 Subject: [Gambas-user] New Systray Message-ID: Hi Benoit I don't have the necessary knowledge for everything I want to do, but I try. I want to make a system tray, could you check my code please. Could you help me as I managed to get the popup menu of networkmanager (example list of wifi networks) by clicking on the icon of the network menu and at the same time if you think I am on the right path to continue or could you advise me please. i need my new system tray at the moment i need networkmanager but in the future I need to show any app in the systray (example vlc, audio, others) thank you very much -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: systrayqt5-0.0.1.tar.gz Type: application/gzip Size: 12392 bytes Desc: not available URL: From bagonergi at gmail.com Thu Apr 23 16:34:17 2020 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 23 Apr 2020 16:34:17 +0200 Subject: [Gambas-user] New Form_State() event Message-ID: Hi Benoit, can you please tell me how the State event of the Form works? I tried it like this: Public Sub Form_State() If Me.Maximized Then Print "Maximized" If Me.Minimized Then Print "Minimized" If Me.FullScreen Then Print "Full screen" End But it doesn't work, thanks. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Thu Apr 23 16:51:03 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 23 Apr 2020 16:51:03 +0200 Subject: [Gambas-user] New Form_State() event In-Reply-To: References: Message-ID: <5ad1e9e4-b4ee-82cf-d0d1-7985f80d5d52@gmail.com> Le 23/04/2020 ? 16:34, Gianluigi a ?crit?: > Hi Benoit, > can you please tell me how the State event of the Form works? > > I tried it like this: > > Public Sub Form_State() > > ? If Me.Maximized Then Print "Maximized" > ? If Me.Minimized Then Print "Minimized" > ? If Me.FullScreen Then Print "Full screen" > > End > > But it doesn't work, thanks. > > Regards > Gianluigi > Here with KDE it works. Do you have more details? -- Beno?t Minisini From bagonergi at gmail.com Thu Apr 23 17:41:12 2020 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 23 Apr 2020 17:41:12 +0200 Subject: [Gambas-user] New Form_State() event In-Reply-To: <5ad1e9e4-b4ee-82cf-d0d1-7985f80d5d52@gmail.com> References: <5ad1e9e4-b4ee-82cf-d0d1-7985f80d5d52@gmail.com> Message-ID: Il giorno gio 23 apr 2020 alle ore 16:52 Beno?t Minisini ha scritto: > Le 23/04/2020 ? 16:34, Gianluigi a ?crit : > > Hi Benoit, > > can you please tell me how the State event of the Form works? > > > > I tried it like this: > > > > Public Sub Form_State() > > > > If Me.Maximized Then Print "Maximized" > > If Me.Minimized Then Print "Minimized" > > If Me.FullScreen Then Print "Full screen" > > > > End > > > > But it doesn't work, thanks. > > > > Regards > > Gianluigi > > > > Here with KDE it works. Do you have more details? > > I sent the details to the bugtraker Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From herberthguzman at gmail.com Thu Apr 23 18:59:42 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Thu, 23 Apr 2020 10:59:42 -0600 Subject: [Gambas-user] New Systray In-Reply-To: References: Message-ID: The code is: ' Gambas class file Private $hTrayIcons As New TrayIcon[] Public Sub Form_Open() Dim hTray As TrayIcon Dim i As Integer Dim hDBusApplication As DBusApplication Dim hConnection As DBusConnection Dim hDBusProxy As DBusProxy Dim sDBusName, sDBusObjectPath, sDBusInterface As String Dim aChildren As New String[] Dim aVal As Variant[] Dim s As String sDBusName = "org.freedesktop.NetworkManager" hConnection = DBus.System hDBusApplication = New DBusApplication(hConnection, sDBusName) sDBusObjectPath = "/org/freedesktop/NetworkManager" sDBusInterface = "org.freedesktop.NetworkManager" hDBusProxy = New DBusProxy(hDBusApplication, sDBusObjectPath, sDBusInterface) aChildren = hDBusProxy.Children txaReport.Insert(gb.NewLine) For i = 0 To aChildren.Max txaReport.Insert(sDBusObjectPath &/ aChildren[i] & gb.NewLine) Next s = DBus["system://org.freedesktop.NetworkManager"]["/org/freedesktop/NetworkManager", "org.freedesktop.NetworkManager"].GetAllDevices().Join("\n") Print s If s Then hTray = New TrayIcon hTray.Name = s $hTrayIcons.Add(hTray) hTray.Icon = Picture["icon:/32/connect"] Endif 'Next dwgSystemTray.Refresh End El mi?., 22 abr. 2020 a las 21:44, herberth guzman (< herberthguzman at gmail.com>) escribi?: > Hi Benoit > > I don't have the necessary knowledge for everything I want to do, but I > try. > > I want to make a system tray, could you check my code please. > > Could you help me as I managed to get the popup menu of networkmanager > (example list of wifi networks) by clicking on the icon of the network menu > and at the same time if you think I am on the right path to continue or > could you advise me please. > > i need my new system tray > > at the moment i need networkmanager > but in the future I need to show any app in the systray (example vlc, > audio, others) > > thank you very much > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Thu Apr 23 23:19:32 2020 From: tercoide at hotmail.com (martin p cristia) Date: Thu, 23 Apr 2020 18:19:32 -0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: References: Message-ID: I want a clone an object I dont know what Class it is. Public c1 as New Clase1 ??? ??? ??? ' These classes may have arrays of other classes Object[] Public c2 as New Clase2 ' All diffent Public c3 as New Clase3 Public c4 as New Clase4 ' at this point we don't know Public Function ClonMe(original as Object ) as Object ' a New object of the same kind with all variables/properties and constants with the same values ????? End -- Saludos Ing. Martin P Cristia -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Apr 23 23:43:56 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 24 Apr 2020 00:43:56 +0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: References: Message-ID: Object.Class() returns the class of the given object, which can be used for this... partially. However, if you need full serialization, IE clone also private values of the objects. You need example from Benoit. As it is implemented only recently and I haven't seen any documentation for it. Jussi On Fri, Apr 24, 2020 at 12:20 AM martin p cristia wrote: > I want a clone an object I dont know what Class it is. > > Public c1 as > New > Clase1 ' These > classes may have arrays of other classes Object[] > Public c2 as > New > Clase2 ' All > diffent > Public c3 as > New > Clase3 > Public c4 as > New > Clase4 > > > ' at this point we don't know > Public Function > ClonMe(original as > Object > ) as > Object > > > ' a New object of the same kind with all variables/properties and constants > with the same values > ????? > > End > > > -- > Saludos > > Ing. Martin P Cristia > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Apr 23 23:48:07 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 24 Apr 2020 00:48:07 +0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: References: Message-ID: See this if you are interested in the partial solution. http://gambas.8142.n7.nabble.com/Code-for-object-serialization-td41197.html Jussi On Fri, Apr 24, 2020 at 12:43 AM Jussi Lahtinen wrote: > Object.Class() returns the class of the given object, which can be used > for this... partially. > However, if you need full serialization, IE clone also private values of > the objects. You need example from Benoit. As it is implemented only > recently and I haven't seen any documentation for it. > > > Jussi > > > > On Fri, Apr 24, 2020 at 12:20 AM martin p cristia > wrote: > >> I want a clone an object I dont know what Class it is. >> >> Public c1 as >> New >> Clase1 ' These >> classes may have arrays of other classes Object[] >> Public c2 as >> New >> Clase2 ' All >> diffent >> Public c3 as >> New >> Clase3 >> Public c4 as >> New >> Clase4 >> >> >> ' at this point we don't know >> Public Function >> ClonMe(original as >> Object >> ) as >> Object >> >> >> ' a New object of the same kind with all variables/properties and >> constants with the same values >> ????? >> >> End >> >> >> -- >> Saludos >> >> Ing. Martin P Cristia >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Fri Apr 24 00:03:07 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 24 Apr 2020 01:03:07 +0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: References: Message-ID: > > You need example from Benoit. As it is implemented only recently and I > haven't seen any documentation for it. > Oh, actually there is documentation for it now... http://gambaswiki.org/wiki/lang/special/write?nh In the special method you need to write the private variables to the stream. Benoit, is it possible to have Object.Copy(), which would work by using _read method? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Fri Apr 24 00:19:47 2020 From: tercoide at hotmail.com (martin p cristia) Date: Thu, 23 Apr 2020 19:19:47 -0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: <5bb51496-f546-3376-0000-6887d04a3e91@hotmail.com> References: <5bb51496-f546-3376-0000-6887d04a3e91@hotmail.com> Message-ID: I want a clone an object I dont know what Class it is. Public c1 as New Clase1??????????????????? ' These classes may have arrays of other classes Object[] Public c2 as New Clase2?????????????????? ' All diffent Public c3 as New Clase3 Public c4 as New Clase4 ' at this point we don't know Public Function ClonMe(original as Object) as Object ' a New object of the same kind with all variables/properties and constants with the same values ????? End -- Saludos Ing. Martin P Cristia From g4mba5 at gmail.com Fri Apr 24 03:19:47 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 24 Apr 2020 03:19:47 +0200 Subject: [Gambas-user] How to clone an object? In-Reply-To: References: <5bb51496-f546-3376-0000-6887d04a3e91@hotmail.com> Message-ID: <03ad99da-9061-f6a2-cfd0-ca774db4614e@gmail.com> Le 24/04/2020 ? 00:19, martin p cristia a ?crit?: > > I want a clone an object I dont know what Class it is. > > Public c1 as New Clase1??????????????????? ' These classes may have > arrays of other classes Object[] > Public c2 as New Clase2?????????????????? ' All diffent > Public c3 as New Clase3 > Public c4 as New Clase4 > > > ' at this point we don't know > Public Function ClonMe(original as Object) as Object > > ' a New object of the same kind with all variables/properties and > constants with the same values > ????? > > End > > > You have to write the clone method for each class yourself. Then, if all the classes you want to clone have a common ancestor, then declare the Clone() method inside. If they do not have a common ancestor, then you will have to use an anonymous reference to call the Clone method(). Regards, -- Beno?t Minisini From yrodas at upnfm.edu.hn Fri Apr 24 07:18:30 2020 From: yrodas at upnfm.edu.hn (Yeshua Rodas) Date: Thu, 23 Apr 2020 23:18:30 -0600 Subject: [Gambas-user] How to listen Select event on a DataView? Message-ID: Hello folks. The TableView has a Select event that is raised when the selection changes. The DataView implements a TableView, however do not implement the Select Event. How can I add a method to be called when the Select Event of the TableView of the DataView rises? Thank you. -- E. Yeshua Rodas DTI - UPNFM -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Fri Apr 24 09:47:50 2020 From: adamnt42 at gmail.com (Bruce) Date: Fri, 24 Apr 2020 17:17:50 +0930 Subject: [Gambas-user] How to clone an object? In-Reply-To: <03ad99da-9061-f6a2-cfd0-ca774db4614e@gmail.com> References: <5bb51496-f546-3376-0000-6887d04a3e91@hotmail.com> <03ad99da-9061-f6a2-cfd0-ca774db4614e@gmail.com> Message-ID: On 24/4/20 10:49 am, Beno?t Minisini wrote: > > You have to write the clone method for each class yourself. Yes! (slight translation) You have to write the clone function for a class in that class itself. That way an object of that class can create an entirely new object that is a "clone" of that object at that particular point in time. Thus it can create a photocopy of itself (including it's internals) but also copies of any contained objects (at that point in time and as long as their classifiers also have Clone() functions). Thus you do not need to know what type of classifier represented the object, just call it's Clone() function which will return an entirely new object of the same type! But... never forget, nor assume, that the clone is the same object as the original. "Daisy the sheep" was an entirely new sheep, not the sheep it was cloned from. b From tercoide at hotmail.com Fri Apr 24 12:26:22 2020 From: tercoide at hotmail.com (martin p cristia) Date: Fri, 24 Apr 2020 07:26:22 -0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: References: Message-ID: I was using that and seems to be the best option. Tnx all. > declare the Clone() method inside. > -- Saludos Ing. Martin P Cristia From bagonergi at gmail.com Fri Apr 24 14:58:17 2020 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 24 Apr 2020 14:58:17 +0200 Subject: [Gambas-user] How to listen Select event on a DataView? In-Reply-To: References: Message-ID: Il giorno ven 24 apr 2020 alle ore 07:19 Yeshua Rodas ha scritto: > Hello folks. > > The TableView has a Select event that is raised when the selection changes. > > The DataView implements a TableView, however do not implement the Select > Event. > > How can I add a method to be called when the Select Event of the TableView > of the DataView rises? > > Thank you. > You answered yourself, try this: Dim hView As TableView hView = DataView1.Children[0] hView.SelectAll Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Apr 24 15:15:10 2020 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 24 Apr 2020 15:15:10 +0200 Subject: [Gambas-user] How to listen Select event on a DataView? In-Reply-To: References: Message-ID: Il giorno ven 24 apr 2020 alle ore 14:58 Gianluigi ha scritto: > > > Il giorno ven 24 apr 2020 alle ore 07:19 Yeshua Rodas > ha scritto: > >> Hello folks. >> >> The TableView has a Select event that is raised when the selection >> changes. >> >> The DataView implements a TableView, however do not implement the Select >> Event. >> >> How can I add a method to be called when the Select Event of the >> TableView of the DataView rises? >> >> Thank you. >> > > You answered yourself, try this: > > Dim hView As TableView > > hView = DataView1.Children[0] > hView.SelectAll > Sorry I misunderstood, I thought you wanted to select Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Apr 24 17:58:33 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 24 Apr 2020 11:58:33 -0400 Subject: [Gambas-user] How to listen Select event on a DataView? In-Reply-To: References: Message-ID: <3d7e6e11-fa71-bb27-908d-5973f589d838@gmail.com> On 4/24/20 1:18 AM, Yeshua Rodas wrote: > Hello folks. > > The TableView has a Select event that is raised when the selection changes. > > The DataView implements a TableView, however do not implement the Select Event. > > How can I add a method to be called when the Select Event of the TableView of the DataView rises? > > Thank you. > > -- > E. Yeshua Rodas > DTI - UPNFM ' Gambas class file Public hObserver As Observer Public Sub Form_Open() hObserver = New Observer(DataView1.View) As "hView" End Public Sub hView_Select() Print "Selection changed." End -- Lee From t.lee.davidson at gmail.com Fri Apr 24 18:45:58 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 24 Apr 2020 12:45:58 -0400 Subject: [Gambas-user] Problems with setting and using Connections in IDE Message-ID: I am having difficulty using Connections defined in the IDE with DataSource and DataView. First, I tried a sqlite3 connection. In a new Connection dialog, I: set the Type to "SQLite", browsed for and set the path = "/home/user/tmp", then selected the DB file from the Database file chooser = "test.db". I can view the data in the db using the Connection viewer (tab). But, when I run the program, I get: "Unable to locate `test.db` in `~/tmp`". I tried with different paths and files, and it complains that it cannot find any of them. So, I tried a mysql connection. In a new Connection dialog, I: set the Type to "MySQL", set the host to "localhost" and set the user and password appropriately, ensured that "Remember password" was enabled, selected the DB from the Database chooser. The same as with the SQLite connection, I can view the data in the db using the Connection viewer (tab). But, when I run the program, I get: "Cannot open database: Access denied for user 'user'@'localhost' (using password: NO)" Is there something I am missing in setting up these connections? -- Lee From bagonergi at gmail.com Fri Apr 24 20:03:04 2020 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 24 Apr 2020 20:03:04 +0200 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: References: Message-ID: Il giorno ven 24 apr 2020 alle ore 18:47 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > I am having difficulty using Connections defined in the IDE with > DataSource and DataView. > > First, I tried a sqlite3 connection. In a new Connection dialog, I: > > set the Type to "SQLite", > browsed for and set the path = "/home/user/tmp", then > selected the DB file from the Database file chooser = "test.db". > > I can view the data in the db using the Connection viewer (tab). But, when > I run the program, I get: > "Unable to locate `test.db` in `~/tmp`". > > I tried with different paths and files, and it complains that it cannot > find any of them. > > > So, I tried a mysql connection. In a new Connection dialog, I: > set the Type to "MySQL", > set the host to "localhost" and set the user and password appropriately, > ensured that "Remember password" was enabled, > selected the DB from the Database chooser. > > The same as with the SQLite connection, I can view the data in the db > using the Connection viewer (tab). But, when I run the > program, I get: > "Cannot open database: Access denied for user 'user'@'localhost' (using > password: NO)" > > > Is there something I am missing in setting up these connections? > I'm not sure but I believe that if the SQLite database is not inside the project then it must be specified in the opening code like the others: Connections["Connection1"].Type = "sqlite3" Connections["Connection1"].Host = "/path/of/database" Connections["Connection1"].Name = "test" $hConn = Connections["Connection1"] of course for MySQL it is necessary to add: Connections["Connection1"].Login Connections["Connection1"].Password Connections["Connection1"].Port Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Apr 24 22:10:56 2020 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 24 Apr 2020 13:10:56 -0700 (PDT) Subject: [Gambas-user] How to clone an object? In-Reply-To: References: Message-ID: <1663682370.21498.1587759056178.JavaMail.zimbra@westwoodsvcs.com> Thank You Brian G From: "Jussi Lahtinen" To: "Gambas mailing list" , "Beno?t Minisini" Sent: Thursday, April 23, 2020 3:03:07 PM Subject: Re: [Gambas-user] How to clone an object? You need example from Benoit. As it is implemented only recently and I haven't seen any documentation for it. Oh, actually there is documentation for it now... [ http://gambaswiki.org/wiki/lang/special/write?nh | http://gambaswiki.org/wiki/lang/special/write?nh ] In the special method you need to write the private variables to the stream. Benoit, is it possible to have Object.Copy(), which would work by using _read method? Jussi example for clone myclass _write(mfile as file) .. write all data fileld to clone end _read(mfile as file) .. read all fields cloned end public sub clone() as object dim msize as integer dim myobject as variant dim mem as pointer dim mfile as file mFile = Open Null For Write Try Write #mfile, me As Object If Error Then Error.Raise("Unable to write object to memory," & Error.text) Endif msize = Seek(mFile) Close mFile mem = alloc(msize) mfile = memory mem for write Try Write #mfile, me As Object If Error Then Error.Raise("Unable to write object to memory," & Error.text) Endif close mfile mfile = memory mem for read Try MyObject = Read #mFile As Object If Error Then error.raise( "Object read failed") Close mFile free(mem) Return MyObject end hope this helps Brian G ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Apr 24 22:49:29 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 24 Apr 2020 16:49:29 -0400 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: References: Message-ID: On 4/24/20 2:03 PM, Gianluigi wrote: > I'm not sure but I believe that if the SQLite database is not inside the project then it must be specified in the opening code > like the others: > > ? Connections["Connection1"].Type = "sqlite3" > ? Connections["Connection1"].Host = "/path/of/database" > ? Connections["Connection1"].Name = "test" > ? $hConn = Connections["Connection1"] > > of course for MySQL it is necessary to add: > > ? Connections["Connection1"].Login > ? Connections["Connection1"].Password > ? Connections["Connection1"].Port > > Regards > Gianluigi Thanks for the response, Gianluigi. But, I don't understand why I can set up the Connections and view the data in the IDE, yet the program chokes on them when it runs. What use is setting up Connections in the IDE if I have to set them up in code anyway? -- Lee From ian.roper at iinet.net.au Fri Apr 24 23:58:14 2020 From: ian.roper at iinet.net.au (Ian Roper) Date: Sat, 25 Apr 2020 05:58:14 +0800 Subject: [Gambas-user] Drop event in TreeView Not working Message-ID: <0d19ce04-e0ff-04aa-52d9-fd68ce5e936b@iinet.net.au> I have been trying to get a drop and drag process working within the same treeview. The drag even works as desired but the drop even does not seem to trigger. I have tried the same code with a listview drop and drag and it does work. Attached is a project that has a treeview set up for drag and drop and a list view test. Am I doing something wrong with the treeview code or is it a bug ? Cheers, Ian Roper [System] Gambas=3.14.3 OperatingSystem=Linux Kernel=5.3.0-46-generic Architecture=x86_64 Distribution=Linux Mint 19.3 Tricia Desktop=CINNAMON Theme=Gtk Language=en_AU.UTF-8 Memory=3808M [Libraries] Cairo=libcairo.so.2.11510.0 Curl=libcurl.so.4.5.0 DBus=libdbus-1.so.3.19.4 GStreamer=libgstreamer-1.0.so.0.1405.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2200.30 OpenGL=libGL.so.1.0.0 Poppler=libpoppler.so.73.0.0 QT4=libQtCore.so.4.8.7 QT5=libQt5Core.so.5.9.5 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] CINNAMON_VERSION=4.4.8 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path DESKTOP_SESSION=cinnamon DISPLAY=:0 GB_GUI=gb.qt4 GDMSESSION=cinnamon GDM_LANG=en_AU GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=4003 GJS_DEBUG_OUTPUT=stderr GJS_DEBUG_TOPICS=JS ERROR;JS LOG GNOME_DESKTOP_SESSION_ID=this-is-deprecated GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_MODULES=gail:atk-bridge GTK_OVERLAY_SCROLLING=1 HOME= LANG=en_AU.UTF-8 LANGUAGE=en_AU.UTF-8 LOGNAME= MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games PWD= QT_ACCESSIBILITY=1 QT_QPA_PLATFORMTHEME=qt5ct SESSION_MANAGER=local/:@/tmp/.ICE-unix/1680,unix/:/tmp/.ICE-unix/1680 SHELL=/bin/bash SHLVL=0 SSH_AGENT_PID=1744 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg XDG_CURRENT_DESKTOP=X-Cinnamon XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_DESKTOP=cinnamon XDG_SESSION_ID=c2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 -------------- next part -------------- A non-text attachment was scrubbed... Name: TreeViewDropAndDrag.tar.gz Type: application/gzip Size: 16612 bytes Desc: not available URL: From bagonergi at gmail.com Sat Apr 25 00:45:32 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 25 Apr 2020 00:45:32 +0200 Subject: [Gambas-user] Drop event in TreeView Not working In-Reply-To: <0d19ce04-e0ff-04aa-52d9-fd68ce5e936b@iinet.net.au> References: <0d19ce04-e0ff-04aa-52d9-fd68ce5e936b@iinet.net.au> Message-ID: Il giorno ven 24 apr 2020 alle ore 23:59 Ian Roper ha scritto: > I have been trying to get a drop and drag process working within the > same treeview. > > The drag even works as desired but the drop even does not seem to trigger. > > I have tried the same code with a listview drop and drag and it does work. > > Attached is a project that has a treeview set up for drag and drop and a > list view test. > > Am I doing something wrong with the treeview code or is it a bug ? > I don't think it's a bug, see attachment. I took inspiration from the example project in the app> examples> Basic> DragNDrop Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TreeViewDropAndDrag-2-0.0.1.tar.gz Type: application/gzip Size: 14078 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Sat Apr 25 00:49:40 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 25 Apr 2020 01:49:40 +0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: <1663682370.21498.1587759056178.JavaMail.zimbra@westwoodsvcs.com> References: <1663682370.21498.1587759056178.JavaMail.zimbra@westwoodsvcs.com> Message-ID: > > mFile = Open Null For Write > Try Write #mfile, me As Object > If Error Then > Error.Raise("Unable to write object to memory," & > Error.text) > Endif > This is not necessary for most cases as you can use Object.SizeOf(). Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Apr 25 01:41:24 2020 From: adamnt42 at gmail.com (Bruce) Date: Sat, 25 Apr 2020 09:11:24 +0930 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: References: Message-ID: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> How are you trying to open the connection in your code? From brian at westwoodsvcs.com Sat Apr 25 01:45:22 2020 From: brian at westwoodsvcs.com (brian at westwoodsvcs.com) Date: Sat, 25 Apr 2020 02:45:22 +0300 Subject: [Gambas-user] =?utf-8?q?How_to_clone_an_object=3F?= In-Reply-To: References: <1663682370.21498.1587759056178.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1587771922.791252584@f3.my.com> This is how I was told to do it as writing adds many headers that sizeof does not return -- Thanks Brian Friday, 24 April 2020, 03:50PM -07:00 from Jussi Lahtinen jussi.lahtinen at gmail.com : >>? ? ? ? ? ? ? ?mFile = Open Null For Write >>? ? ? ? ? ? ? Try Write #mfile, me As Object >>? ? ? ? ? ? ? If Error Then? >>? ? ? ? ? ? ? ? ? Error.Raise("Unable to write object to memory," & Error.text) >>? ? ? ? ? ? ? Endif > >This is not necessary for most cases as you can use Object.SizeOf(). > > >Jussi >? > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Apr 25 02:00:09 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 25 Apr 2020 03:00:09 +0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: <1587771922.791252584@f3.my.com> References: <1663682370.21498.1587759056178.JavaMail.zimbra@westwoodsvcs.com> <1587771922.791252584@f3.my.com> Message-ID: Oh, maybe that is the case with strings... Jussi On Sat, Apr 25, 2020 at 2:56 AM wrote: > This is how I was told to do it as writing adds many headers that sizeof > does not return > > -- > Thanks > Brian > Friday, 24 April 2020, 03:50PM -07:00 from Jussi Lahtinen > jussi.lahtinen at gmail.com: > > mFile = Open Null For Write > Try Write #mfile, me As Object > If Error Then > Error.Raise("Unable to write object to memory," & > Error.text) > Endif > > > This is not necessary for most cases as you can use Object.SizeOf(). > > > Jussi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Apr 25 06:52:23 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 25 Apr 2020 00:52:23 -0400 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> Message-ID: <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> On 4/24/20 7:41 PM, Bruce wrote: > > How are you trying to open the connection in your code? > I am not trying to open the connection in the code. FMain.form has only two components: a DataSource and a DataView. FMain.class is totally empty. In the IDE, I set the DataSource1 .Connection and .Table properties appropriately, and the set .Columns in DataView1. I click the Run button and the program apparently tries to open the specified connection automatically; and fails with the errors I reported. Isn't the purpose of the IDE Connection tool to define connections so it doesn't have to be done in code? -- Lee From adamnt42 at gmail.com Sat Apr 25 07:38:32 2020 From: adamnt42 at gmail.com (Bruce) Date: Sat, 25 Apr 2020 15:08:32 +0930 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> Message-ID: <97bb7f47-ebff-f575-a72f-8586200da5bb@gmail.com> INLINE On 25/4/20 2:22 pm, T Lee Davidson wrote: > On 4/24/20 7:41 PM, Bruce wrote: >> >> How are you trying to open the connection in your code? >> > > I am not trying to open the connection in the code. FMain.form has only > two components: a DataSource and a DataView. FMain.class is totally empty. Well, I just tried that here and it works perfectly. No code whatsoever and the data just pops straight up. > > In the IDE, I set the DataSource1 .Connection and .Table properties > appropriately, and the set .Columns in DataView1. I click the Run button > and the program apparently tries to open the specified connection > automatically; and fails with the errors I reported. Well well, another day another thing learned! For years I have been setting up the declaratives in the form designer but thought that I still had to open the connection in the form code! > > Isn't the purpose of the IDE Connection tool to define connections so it > doesn't have to be done in code? > Apparently so since it works perfectly here ??? bruce From adamnt42 at gmail.com Sat Apr 25 07:54:05 2020 From: adamnt42 at gmail.com (Bruce) Date: Sat, 25 Apr 2020 15:24:05 +0930 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> Message-ID: OK, maybe this is a clue. I just tried it with an SQLite file in my home directory. Even though the Connection has the fully qualified path the error message says it is looking for it in "~/Documents" and debugging the connection indicates the same. ??? b From adamnt42 at gmail.com Sat Apr 25 08:33:15 2020 From: adamnt42 at gmail.com (Bruce) Date: Sat, 25 Apr 2020 16:03:15 +0930 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> Message-ID: <7182f333-a01d-0e83-5628-41477965e181@gmail.com> OK for SQLite I have traced it back to the naughty IDE changing the path to "~/..."! Then the IDE gets even naughtier by hiding that fact when the Connection properties form is opened again. Also, the Common module (in the gb.db.form component) tries to open the connection without expanding the path. @Benoit: This is two bugs, the first is a design flaw. If the coder sets the sqlite path to a fullyy qualified path, then this is what should be used, if the coder wants to use a "~" path then this should be allowed in the IDE somehow and thus when a different user is trying to access that database it should be the one in that user's home dir. Secondly, (I think) that the gb.db.form Common module needs to expand the "~". Your problem with MySQL is soemthing else. All I can say is that it works fine with Postgres. hth bruce From adamnt42 at gmail.com Sat Apr 25 09:10:31 2020 From: adamnt42 at gmail.com (Bruce) Date: Sat, 25 Apr 2020 16:40:31 +0930 Subject: [Gambas-user] DBUS signal questions Message-ID: <0a55b56c-fa9f-c68c-2b36-52c9aa6d75fb@gmail.com> Two questions 1) There doesn't seem to be any way to stop watching for a signal? I have a program that does a lot of wizzygig in a large number of objects and when they finish spinning they raise a "Notice" signal on the DBUS. This work fine. I also have a monitor program that watches that server and prints a message to stdout when it catches one. In other words its just a logger so I know that the server is still sending signals. Here's the catch. At some point one of the server objects will have finished whirling around and it sends a Notice message saying so. Fine. When all the objects are finished spinning, I want the monitor to stop lisenting for any more messages from the server and do something else. Part of this is "stop listening for any more messages" from the server. But there doesn't seem to be a way to achieve this. 2) There doesn't seem to be a way to watch for a signal from a specific object on the server. The server can have a 100 or so objects registered on the DBus. Each is easily identifiable. I am trying to write another watcher program that is only interested in one of the objects on the server DBus "session".\ Any clues? tia bruce From t.lee.davidson at gmail.com Sat Apr 25 16:20:47 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 25 Apr 2020 10:20:47 -0400 Subject: [Gambas-user] DBUS signal questions In-Reply-To: <0a55b56c-fa9f-c68c-2b36-52c9aa6d75fb@gmail.com> References: <0a55b56c-fa9f-c68c-2b36-52c9aa6d75fb@gmail.com> Message-ID: <25779f1a-4cf0-7c9d-6483-22ea5b109b1d@gmail.com> On 4/25/20 3:10 AM, Bruce wrote: > When all the objects are finished spinning, I want the monitor to stop lisenting for any more messages from the server and do > something else. Part of this is "stop listening for any more messages" from the server. > But?there?doesn't?seem?to?be?a?way?to?achieve?this. Couldn't you just kill the observer? ie. MyDBusSignal = Null. > 2) There doesn't seem to be a way to watch for a signal from a specific object?on?the?server. DBusObserver allows to specify an object. But maybe that's not what you mean by "object." -- Lee From t.lee.davidson at gmail.com Sat Apr 25 16:37:39 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 25 Apr 2020 10:37:39 -0400 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: <7182f333-a01d-0e83-5628-41477965e181@gmail.com> References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> <7182f333-a01d-0e83-5628-41477965e181@gmail.com> Message-ID: <13dad22f-72c0-8baa-4b04-6605e2f70ac1@gmail.com> On 4/25/20 2:33 AM, Bruce wrote: > > OK for SQLite I have traced it back to the naughty IDE changing the path to "~/..."! > Then the IDE gets even naughtier by hiding that fact when the Connection properties form is opened again. > Also, the Common module (in the gb.db.form component) tries to open the connection without expanding the path. > > @Benoit: This is two bugs, the first is a design flaw. If the coder sets the sqlite path to a fullyy qualified? path, then this > is what should be used, if the coder wants to use a "~" path then this should be allowed in the IDE somehow and thus when a > different user is trying to access that database it should be the one in that user's home dir. Secondly, (I think) that the > gb.db.form Common module needs to expand the "~". > > Your problem with MySQL is soemthing else. All I can say is that it works fine with Postgres. Thanks, Bruce. I vaguely recalled that the 'Remember password' option in the Connection properties dialog needed to rely on the desktop password manager. So, to see what would happen, I included the gb.desktop component in the project. Now I get only a warning in the console (but no data in DataView): gb.desktop: warning: password read from old KDE4 wallet. Just save your password again to use the KDE5 wallet. (There shouldn't be any KDE4 wallet on my system.) If I disable "Remember password", I get the same error as before. So, it appears that the Connection tool depends on gb.desktop for that feature, yet there was no Message box saying so and I don't see that documented. Maybe I'm wrong. -- Lee From jean-yvon.renaut at wanadoo.fr Sat Apr 25 17:25:05 2020 From: jean-yvon.renaut at wanadoo.fr (Jean-Yvon) Date: Sat, 25 Apr 2020 17:25:05 +0200 Subject: [Gambas-user] =?utf-8?q?Passage_=C3=A0_la_version_20=2E04?= Message-ID: <4a548b76-5472-bcf2-6e06-3f38388fa95e@wanadoo.fr> Hello I have these messages there by starting a project which I use every day. CComponent.load.626 user control class is missing in gb.form componement exported classes user control class is missing in gb.form.editor In addition the ide tells me that qt4 is not installed but refuses qt5 with a message: [13] nul object What to do? C'est une traduction google Merci de m'excuser Jean-Yvon From t.lee.davidson at gmail.com Sat Apr 25 17:55:38 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 25 Apr 2020 11:55:38 -0400 Subject: [Gambas-user] =?utf-8?q?Passage_=C3=A0_la_version_20=2E04?= In-Reply-To: <4a548b76-5472-bcf2-6e06-3f38388fa95e@wanadoo.fr> References: <4a548b76-5472-bcf2-6e06-3f38388fa95e@wanadoo.fr> Message-ID: <8feba3ab-166a-07ae-0dfa-5d6a7a5cc99f@gmail.com> On 4/25/20 11:25 AM, Jean-Yvon wrote: > Hello > I have these messages there by starting a project which I use every day. > > CComponent.load.626 > user control class is missing in gb.form componement exported classes > > user control class is missing in gb.form.editor > > In addition the ide tells me that qt4 is not installed but refuses qt5 with a message: [13] nul object > What to do? What version of Gambas are you using? How did you install it? Did you recently upgrade it? -- Lee From bagonergi at gmail.com Sat Apr 25 18:03:09 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 25 Apr 2020 18:03:09 +0200 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: <13dad22f-72c0-8baa-4b04-6605e2f70ac1@gmail.com> References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> <7182f333-a01d-0e83-5628-41477965e181@gmail.com> <13dad22f-72c0-8baa-4b04-6605e2f70ac1@gmail.com> Message-ID: Lee, Bruce, I apologize for the inaccuracy, I am old and memory has abandoned me. I have verified and here both the connection with MySQL and with PostgreSQL works well. Instead, as far as SQLite is concerned, it only works if the db is present in the project. Regards Gianluigi P.S. Initially, he gives me an error on the password, but then he connects correctly -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sat Apr 25 18:15:28 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 25 Apr 2020 18:15:28 +0200 Subject: [Gambas-user] =?utf-8?q?Passage_=C3=A0_la_version_20=2E04?= In-Reply-To: <8feba3ab-166a-07ae-0dfa-5d6a7a5cc99f@gmail.com> References: <4a548b76-5472-bcf2-6e06-3f38388fa95e@wanadoo.fr> <8feba3ab-166a-07ae-0dfa-5d6a7a5cc99f@gmail.com> Message-ID: Il giorno sab 25 apr 2020 alle ore 17:56 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > On 4/25/20 11:25 AM, Jean-Yvon wrote: > > Hello > > I have these messages there by starting a project which I use every day. > > > > CComponent.load.626 > > user control class is missing in gb.form componement exported classes > > > > user control class is missing in gb.form.editor > > > > In addition the ide tells me that qt4 is not installed but refuses qt5 > with a message: [13] nul object > > What to do? > > What version of Gambas are you using? > How did you install it? > Did you recently upgrade it? > Hi, Ubuntu 20.04 no longer supports qt4 libraries. I have just compiled the master on a new 20.04, if you want to compile I can pass you the libraries and the commands for the terminal. First you need to completely remove the Gambas installed by repo or PPA Regards Gianluigi P.S. As soon as I can I update the wiki :-) -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Apr 25 21:48:54 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 25 Apr 2020 15:48:54 -0400 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> <7182f333-a01d-0e83-5628-41477965e181@gmail.com> <13dad22f-72c0-8baa-4b04-6605e2f70ac1@gmail.com> Message-ID: <5bb1c787-c854-d5f0-5550-777598bf7f39@gmail.com> On 4/25/20 12:03 PM, Gianluigi wrote: > > Lee, Bruce, > I apologize for the inaccuracy, I am old and memory has abandoned me. > I have verified and here both the connection with MySQL and with PostgreSQL works well. > Instead, as far as SQLite is concerned, it only works if the db is present in the project. > > Regards > Gianluigi > > P.S. Initially, he gives me an error on the password, but then he connects correctly No need to apologize, Gianluigi. I can confirm that an IDE-defined SQLite Connection works if I enter a single dot character for the Path. This gets automatically expanded to the full project directory path with a trailing dot. As far a MySQL, I suspect that both you and Bruce are using desktops that employ the GNOME keyring, and hence, why it works for you and not me (with KDE Wallet). -- Lee From sharon at 455.co.il Sat Apr 25 22:35:18 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Sat, 25 Apr 2020 23:35:18 +0300 Subject: [Gambas-user] WebForm bottom container Message-ID: <20200425203340.M34697@455.co.il> Hello I'm trying to create WebForm with 8 buttons: Each button I want to be pinned to the corners even when changing the size of the container My intent for any other location button is: Button 1 to the top left corner Button 2 in the top right corner Button 3 in the bottom left corner Button 4 in the bottom right corner I've attached what I've been trying to do, there's probably something I'm not doing right? Thank you From bagonergi at gmail.com Sat Apr 25 23:02:04 2020 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 25 Apr 2020 23:02:04 +0200 Subject: [Gambas-user] Problems with setting and using Connections in IDE In-Reply-To: <5bb1c787-c854-d5f0-5550-777598bf7f39@gmail.com> References: <2d5335bc-2cb1-aa80-0144-9e988c730b88@gmail.com> <410cb7ab-c8a3-58c3-7c6b-04dc4f60ee54@gmail.com> <7182f333-a01d-0e83-5628-41477965e181@gmail.com> <13dad22f-72c0-8baa-4b04-6605e2f70ac1@gmail.com> <5bb1c787-c854-d5f0-5550-777598bf7f39@gmail.com> Message-ID: Il giorno sab 25 apr 2020 alle ore 21:49 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > As far a MySQL, I suspect that both you and Bruce are using desktops that > employ the GNOME keyring, and hence, why it works for > you and not me (with KDE Wallet). > > Yes you are right it is so for me. Before long I have to move the MySQL project to Ubuntu 20.04 which no longer has the libraries qt4 and the Gnome keyring and let's see what happens. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Sat Apr 25 23:29:53 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Sun, 26 Apr 2020 00:29:53 +0300 Subject: [Gambas-user] WebForm bottom container In-Reply-To: <20200425203340.M34697@455.co.il> References: <20200425203340.M34697@455.co.il> Message-ID: <20200425212815.M92441@455.co.il> ---------- Original Message ----------- From: "Mayost Sharon" To: Gambas Mailing List Sent: Sat, 25 Apr 2020 23:35:18 +0300 Subject: [Gambas-user] WebForm bottom container > Hello > > I'm trying to create WebForm with 8 buttons: > Each button I want to be pinned to the corners even when changing the size of > the container My intent for any other location button is: Button 1 to the top > left corner Button 2 in the top right corner Button 3 in the bottom left > corner Button 4 in the bottom right corner > > I've attached what I've been trying to do, there's probably something I'm not > doing right? > > Thank you > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ------- End of Original Message ------- Attached is the file I forgot to attach to the previous post -------------- next part -------------- A non-text attachment was scrubbed... Name: wf2.zip Type: application/zip Size: 16177 bytes Desc: not available URL: From adamnt42 at gmail.com Sun Apr 26 03:18:55 2020 From: adamnt42 at gmail.com (Bruce) Date: Sun, 26 Apr 2020 10:48:55 +0930 Subject: [Gambas-user] DBUS signal questions In-Reply-To: <25779f1a-4cf0-7c9d-6483-22ea5b109b1d@gmail.com> References: <0a55b56c-fa9f-c68c-2b36-52c9aa6d75fb@gmail.com> <25779f1a-4cf0-7c9d-6483-22ea5b109b1d@gmail.com> Message-ID: <95c220f6-f084-357c-48cc-7f375f265338@gmail.com> On 25/4/20 11:50 pm, T Lee Davidson wrote: > On 4/25/20 3:10 AM, Bruce wrote: >> When all the objects are finished spinning, I want the monitor to stop >> lisenting for any more messages from the server and do something else. >> Part of this is "stop listening for any more messages" from the >> server. But??there??doesn't??seem??to??be??a??way??to??achieve??this. > > Couldn't you just kill the observer? ie. MyDBusSignal = Null. No that doesn't seem to work.... Ah, got it. I have to set Enabled to false and then kill it. tx b From adamnt42 at gmail.com Sun Apr 26 03:28:25 2020 From: adamnt42 at gmail.com (Bruce) Date: Sun, 26 Apr 2020 10:58:25 +0930 Subject: [Gambas-user] DBUS signal questions In-Reply-To: <25779f1a-4cf0-7c9d-6483-22ea5b109b1d@gmail.com> References: <0a55b56c-fa9f-c68c-2b36-52c9aa6d75fb@gmail.com> <25779f1a-4cf0-7c9d-6483-22ea5b109b1d@gmail.com> Message-ID: <4b8f826a-057e-ee67-5ff0-10656e356420@gmail.com> On 25/4/20 11:50 pm, T Lee Davidson wrote: >> 2) There doesn't seem to be a way to watch for a signal from a >> specific object on the server. > DBusObserver allows to specify an object. But maybe that's not what you > mean by "object." > I believe you are right. I'll have to use the DBusObserver instead of the DBusSignal.Pity, because DBusSignal is so nice and simple. tx b From tercoide at hotmail.com Sun Apr 26 15:59:02 2020 From: tercoide at hotmail.com (martin p cristia) Date: Sun, 26 Apr 2020 10:59:02 -0300 Subject: [Gambas-user] How to clone an object? In-Reply-To: References: Message-ID: Thats why I decided to do it by hand in the same Class as Benoit suggested: ' in? classSome Public Sub Clon() as Object Return New classSome( params_I_know as...)??? ??? ??? ' let Gambas construct it End The other reason is that the class uses dinamic arrays that are somewere else in the memory, and probably not contiguous to what SizeOf return. I don't know the internals (nor want to dig that deep). > This is how I was told to do it as writing adds many headers that sizeof does not return > > -- Saludos Ing. Martin P Cristia From herberthguzman at gmail.com Sun Apr 26 19:27:12 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Sun, 26 Apr 2020 11:27:12 -0600 Subject: [Gambas-user] Error message "Segmentation fault" Message-ID: Hi I have deepin and gambas3 installed but I have a problem: I run gambas3 and it opens but when opening any application it closes the error message is "Segmentation fault" I close session and open plasma-kde in the same OS and in this session I have no problem. can someone help me work gambas3 well in Deepin Desktop. Thank you [System] Gambas=3.14.90 c443337 (master) OperatingSystem=Linux Kernel=5.3.0-3-amd64 Architecture=x86_64 Distribution=Deepin 20 Beta Desktop=DEEPIN Theme=Dtk::Widget::D Language=es_ES.UTF-8 Memory=2860M [Libraries] Cairo=libcairo.so.2.11600.0 DBus=libdbus-1.so.3.19.11 GStreamer=libgstreamer-1.0.so.0.1404.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2404.1 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.82.0.0 QT4=libQtCore.so.4.8.7 QT5=libQt5Core.so.5.11.3 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] CLUTTER_IM_MODULE=fcitx DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=deepin DISPLAY=:0 GB_GUI=gb.qt5 GDMSESSION=deepin GIO_LAUNCHED_DESKTOP_FILE=/.config/dock/scratch/d:c49e2a959491c3e10b2ac917b78b06fa.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=4836 GNOME_DESKTOP_SESSION_ID=this-is-deprecated GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_IM_MODULE=fcitx HOME= LANG=es_ES.UTF-8 LANGUAGE=es_ES.UTF-8 LOGNAME= PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/.dotnet/tools PWD= QT4_IM_MODULE=fcitx QT_DBL_CLICK_DIST=15 QT_IM_MODULE=fcitx QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 QT_LOGGING_RULES=*.debug=false SHELL=/bin/bash SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XCURSOR_SIZE=24 XDG_CURRENT_DESKTOP=Deepin XDG_GREETER_DATA_DIR=/var/lib/lightdm/data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=deepin XDG_SESSION_ID=5 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 XDG_SESSION_TYPE=x11 XDG_VTNR=1 XMODIFIERS=@im=fcitx -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sun Apr 26 19:30:56 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 26 Apr 2020 19:30:56 +0200 Subject: [Gambas-user] Error message "Segmentation fault" In-Reply-To: References: Message-ID: <3fdf2f2e-ba7b-e60c-4965-a6ad7443e00d@gmail.com> Le 26/04/2020 ? 19:27, herberth guzman a ?crit?: > Hi > > I have deepin and gambas3 installed but I have a problem: > I run gambas3 and it opens but when opening any application it closes > > the error message is "Segmentation fault" > > I close session and open plasma-kde in the same OS and in this session I > have no problem. > > can someone help me work gambas3 well in Deepin Desktop. > > Thank you > How did you install Gambas? -- Beno?t Minisini From herberthguzman at gmail.com Sun Apr 26 19:32:59 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Sun, 26 Apr 2020 11:32:59 -0600 Subject: [Gambas-user] New Systray In-Reply-To: References: Message-ID: Hi I cannot solve the problem of the system tray with gambas3-gb-qt5 but my temporary solution to my project is to work my OS in debian and not in ubuntu to continue with gambas3-gb-qt4 and in the future see if I work with gambas3- gb-gtk3 but at the moment it gives me errors with this component, my project doesn't work. Regards El jue., 23 abr. 2020 a las 10:59, herberth guzman (< herberthguzman at gmail.com>) escribi?: > The code is: > > ' Gambas class file > > Private $hTrayIcons As New TrayIcon[] > Public Sub Form_Open() > Dim hTray As TrayIcon > > Dim i As Integer > Dim hDBusApplication As DBusApplication > Dim hConnection As DBusConnection > Dim hDBusProxy As DBusProxy > Dim sDBusName, sDBusObjectPath, sDBusInterface As String > Dim aChildren As New String[] > Dim aVal As Variant[] > Dim s As String > > > sDBusName = "org.freedesktop.NetworkManager" > hConnection = DBus.System > hDBusApplication = New DBusApplication(hConnection, sDBusName) > > sDBusObjectPath = "/org/freedesktop/NetworkManager" > sDBusInterface = "org.freedesktop.NetworkManager" > hDBusProxy = New DBusProxy(hDBusApplication, sDBusObjectPath, > sDBusInterface) > > aChildren = hDBusProxy.Children > > txaReport.Insert(gb.NewLine) > For i = 0 To aChildren.Max > txaReport.Insert(sDBusObjectPath &/ aChildren[i] & gb.NewLine) > Next > > s = > DBus["system://org.freedesktop.NetworkManager"]["/org/freedesktop/NetworkManager", > "org.freedesktop.NetworkManager"].GetAllDevices().Join("\n") > Print s > > If s Then > hTray = New TrayIcon > hTray.Name = s > $hTrayIcons.Add(hTray) > hTray.Icon = Picture["icon:/32/connect"] > Endif > 'Next > > dwgSystemTray.Refresh > > End > > El mi?., 22 abr. 2020 a las 21:44, herberth guzman (< > herberthguzman at gmail.com>) escribi?: > >> Hi Benoit >> >> I don't have the necessary knowledge for everything I want to do, but I >> try. >> >> I want to make a system tray, could you check my code please. >> >> Could you help me as I managed to get the popup menu of networkmanager >> (example list of wifi networks) by clicking on the icon of the network menu >> and at the same time if you think I am on the right path to continue or >> could you advise me please. >> >> i need my new system tray >> >> at the moment i need networkmanager >> but in the future I need to show any app in the systray (example vlc, >> audio, others) >> >> thank you very much >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From herberthguzman at gmail.com Sun Apr 26 19:36:26 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Sun, 26 Apr 2020 11:36:26 -0600 Subject: [Gambas-user] Error message "Segmentation fault" In-Reply-To: <3fdf2f2e-ba7b-e60c-4965-a6ad7443e00d@gmail.com> References: <3fdf2f2e-ba7b-e60c-4965-a6ad7443e00d@gmail.com> Message-ID: 1- Install compiled dev prawns, following the wiki steps. After the error remove it. 2- Install compiled stable prawns, following the wiki steps. After the error remove it. 3- Install shrimp from the deepin repositories (Debian). After the error remove it. 4- Install the compiled dev prawns again, following the wiki steps. In KDE it works well In openbox it works fine in Deepin Desktop no El dom., 26 abr. 2020 a las 11:31, Beno?t Minisini () escribi?: > Le 26/04/2020 ? 19:27, herberth guzman a ?crit : > > Hi > > > > I have deepin and gambas3 installed but I have a problem: > > I run gambas3 and it opens but when opening any application it closes > > > > the error message is "Segmentation fault" > > > > I close session and open plasma-kde in the same OS and in this session I > > have no problem. > > > > can someone help me work gambas3 well in Deepin Desktop. > > > > Thank you > > > > How did you install Gambas? > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sun Apr 26 19:46:17 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 26 Apr 2020 19:46:17 +0200 Subject: [Gambas-user] Error message "Segmentation fault" In-Reply-To: References: <3fdf2f2e-ba7b-e60c-4965-a6ad7443e00d@gmail.com> Message-ID: <4538176c-068f-39fa-5e09-fa829952b3eb@gmail.com> Le 26/04/2020 ? 19:36, herberth guzman a ?crit?: > > 1- Install compiled dev prawns, following the wiki steps. After the > error remove it. > > 2- Install compiled stable prawns, following the wiki steps. After the > error remove it. > > 3- Install shrimp from the deepin repositories (Debian). > ? After the error remove it. > > 4- Install the compiled dev prawns again, following the wiki steps. > > In KDE it works well > In openbox it works fine > in Deepin Desktop no > So if you compile from the sources, please provide the full output of the configuration and installation process to see if there are error messages in it. Recompile everything with debugging information: $ cd /path/to/gambas/source/directory $ make clean $ make "CFLAGS=-O0 -g -fvar-tracking" "CXXFLAGS=-O0 -g -fvar-tracking" -j5 The '-j' should take the number of CPUs in your system, plus one. $ sudo make install Once everything installed, run the Gambas IDE through the 'gdb' debugger until it crashes, and then send me the backtrace of the crash. More information on the "Reporting a problem" page of the website. Regards, -- Beno?t Minisini From herberthguzman at gmail.com Sun Apr 26 20:29:54 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Sun, 26 Apr 2020 12:29:54 -0600 Subject: [Gambas-user] Error message "Segmentation fault" In-Reply-To: <4538176c-068f-39fa-5e09-fa829952b3eb@gmail.com> References: <3fdf2f2e-ba7b-e60c-4965-a6ad7443e00d@gmail.com> <4538176c-068f-39fa-5e09-fa829952b3eb@gmail.com> Message-ID: Thanks Benoit Starting program: /usr/bin/gbx3 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffee284700 (LWP 15837)] [Detaching after vfork from child process 15838] [Detaching after vfork from child process 15839] [Detaching after vfork from child process 15842] [New Thread 0x7fffed0cb700 (LWP 15845)] [New Thread 0x7fffe7f6e700 (LWP 15852)] [Detaching after vfork from child process 15856] [New Thread 0x7fffe6477700 (LWP 15857)] [New Thread 0x7fffdf3a0700 (LWP 15858)] [Detaching after fork from child process 15859] [Detaching after fork from child process 15861] Thread 1 "gbx3" received signal SIGSEGV, Segmentation fault. 0x00007fffec8a5791 in chameleon::ChameleonStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib/x86_64-linux-gnu/qt5/plugins/styles/libchameleon.so El dom., 26 abr. 2020 a las 11:47, Beno?t Minisini () escribi?: > Le 26/04/2020 ? 19:36, herberth guzman a ?crit : > > > > 1- Install compiled dev prawns, following the wiki steps. After the > > error remove it. > > > > 2- Install compiled stable prawns, following the wiki steps. After the > > error remove it. > > > > 3- Install shrimp from the deepin repositories (Debian). > > After the error remove it. > > > > 4- Install the compiled dev prawns again, following the wiki steps. > > > > In KDE it works well > > In openbox it works fine > > in Deepin Desktop no > > > > So if you compile from the sources, please provide the full output of > the configuration and installation process to see if there are error > messages in it. > > Recompile everything with debugging information: > > $ cd /path/to/gambas/source/directory > $ make clean > $ make "CFLAGS=-O0 -g -fvar-tracking" "CXXFLAGS=-O0 -g -fvar-tracking" -j5 > > The '-j' should take the number of CPUs in your system, plus one. > > $ sudo make install > > Once everything installed, run the Gambas IDE through the 'gdb' debugger > until it crashes, and then send me the backtrace of the crash. > > More information on the "Reporting a problem" page of the website. > > Regards, > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sun Apr 26 20:52:13 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 26 Apr 2020 20:52:13 +0200 Subject: [Gambas-user] Error message "Segmentation fault" In-Reply-To: References: <3fdf2f2e-ba7b-e60c-4965-a6ad7443e00d@gmail.com> <4538176c-068f-39fa-5e09-fa829952b3eb@gmail.com> Message-ID: Le 26/04/2020 ? 20:29, herberth guzman a ?crit?: > Thanks Benoit > > > Starting program: /usr/bin/gbx3 > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > [New Thread 0x7fffee284700 (LWP 15837)] > [Detaching after vfork from child process 15838] > [Detaching after vfork from child process 15839] > [Detaching after vfork from child process 15842] > [New Thread 0x7fffed0cb700 (LWP 15845)] > [New Thread 0x7fffe7f6e700 (LWP 15852)] > [Detaching after vfork from child process 15856] > [New Thread 0x7fffe6477700 (LWP 15857)] > [New Thread 0x7fffdf3a0700 (LWP 15858)] > [Detaching after fork from child process 15859] > [Detaching after fork from child process 15861] > > Thread 1 "gbx3" received signal SIGSEGV, Segmentation fault. > 0x00007fffec8a5791 in > chameleon::ChameleonStyle::drawPrimitive(QStyle::PrimitiveElement, > QStyleOption const*, QPainter*, QWidget const*) const () > ? ?from /usr/lib/x86_64-linux-gnu/qt5/plugins/styles/libchameleon.so > I need the stack backtrace, i.e. the result of the 'bt' command after the crash. Anyway it seems to crash inside the "Chameleon" widget style, so I guess that you won't have the crash anymore if you change the Qt5 widget style. -- Beno?t Minisini From herberthguzman at gmail.com Sun Apr 26 22:18:25 2020 From: herberthguzman at gmail.com (herberth guzman) Date: Sun, 26 Apr 2020 14:18:25 -0600 Subject: [Gambas-user] Error message "Segmentation fault" In-Reply-To: References: <3fdf2f2e-ba7b-e60c-4965-a6ad7443e00d@gmail.com> <4538176c-068f-39fa-5e09-fa829952b3eb@gmail.com> Message-ID: #0 0x00007fffec8a5791 in chameleon::ChameleonStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const () at /usr/lib/x86_64-linux-gnu/qt5/plugins/styles/libchameleon.so #1 0x00007ffff6e49465 in style_box(QPainter*, int, int, int, int, int, GB_COLOR) (p=p at entry=0x1c41ff0, x=x at entry=0, y=y at entry=0, w=w at entry=296, h=h at entry=32, state=0, color=16777215) at CStyle.cpp:300 #2 0x00007ffff6e49d0e in Style_PaintBox(void*, void*) (_object=0x0, _param=0x7ffff6ed5040) at CStyle.cpp:420 #3 0x00000000004619d4 in EXEC_native () at gbx_exec.c:1330 #4 0x0000000000460a4b in EXEC_native_check (defined=) at gbx_exec.c:1127 #5 0x0000000000454e0a in EXEC_loop () at gbx_exec_loop.c:1165 #6 0x000000000045ff0f in EXEC_function_loop () at gbx_exec.c:905 #7 0x000000000045fe77 in EXEC_function_real () at gbx_exec.c:892 #8 0x0000000000462869 in EXEC_public_desc (class=class at entry=0x60b788, object=object at entry=0xbf4af8, desc=desc at entry=0x616c58, nparam=nparam at entry =0) at gbx_exec.c:1585 #9 0x000000000042a3c6 in raise_event (observer=observer at entry=0xbf4af8, object=object at entry=0xc00448, func_id=131, func_id at entry=132, nparam=nparam at entry=0) at gbx_api.c:807 #10 0x000000000042abb5 in GB_Raise (object=0xc00448, event_id=20, nparam=0) at gbx_api.c:961 #11 0x00007ffff6e7f6c9 in MyDrawingArea::redraw(QRect&, bool) (this=this at entry=0xc004f0, r=..., frame=frame at entry=true) at CDrawingArea.cpp:212 #12 0x00007ffff6e7fb3e in MyDrawingArea::paintEvent(QPaintEvent*) (this=0xc004f0, event=0x7fffffffa850) at CDrawingArea.cpp:353 #13 0x00007ffff684e4f8 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #14 0x00007ffff68104e1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #15 0x00007ffff6817990 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #16 0x00007ffff5e8e4f9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #17 0x00007ffff68470ea in QWidgetPrivate::sendPaintEvent(QRegion const&) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #18 0x00007ffff68479a7 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #19 0x00007ffff68485a1 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #20 0x00007ffff684762c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #21 0x00007ffff68485a1 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #22 0x00007ffff6848490 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #23 0x00007ffff6848490 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 --Type for more, q to quit, c to continue without paging-- #24 0x00007ffff684762c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #25 0x00007ffff68485a1 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #26 0x00007ffff684762c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007ffff68485a1 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007ffff684762c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007ffff68485a1 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007ffff684762c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #31 0x00007ffff68485a1 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #32 0x00007ffff6848490 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #33 0x00007ffff684762c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #34 0x00007ffff68485a1 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #35 0x00007ffff684762c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #36 0x00007ffff681fabc in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007ffff681fe39 in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #38 0x00007ffff68369f5 in QWidgetPrivate::syncBackingStore() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #39 0x00007ffff684e628 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007ffff68104e1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #41 0x00007ffff6817990 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #42 0x00007ffff5e8e4f9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #43 0x00007ffff5e914db in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #44 0x00007ffff5ee0183 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #45 0x00007ffff514af2e in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 --Type for more, q to quit, c to continue without paging-- #46 0x00007ffff514b1c8 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #47 0x00007ffff514b25c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #48 0x00007ffff5edf7a7 in QEventDispatcherGlib::processEvents(QFlags) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #49 0x00007fffed6d13d1 in () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #50 0x00007ffff5e8d1cb in QEventLoop::exec(QFlags) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #51 0x00007ffff5e951b2 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #52 0x00007ffff6e40d2e in hook_loop() () at main.cpp:1026 #53 0x0000000000439372 in main (argc=, argv=) at gbx.c:460 El dom., 26 abr. 2020 a las 12:53, Beno?t Minisini () escribi?: > Le 26/04/2020 ? 20:29, herberth guzman a ?crit : > > Thanks Benoit > > > > > > Starting program: /usr/bin/gbx3 > > [Thread debugging using libthread_db enabled] > > Using host libthread_db library > "/lib/x86_64-linux-gnu/libthread_db.so.1". > > [New Thread 0x7fffee284700 (LWP 15837)] > > [Detaching after vfork from child process 15838] > > [Detaching after vfork from child process 15839] > > [Detaching after vfork from child process 15842] > > [New Thread 0x7fffed0cb700 (LWP 15845)] > > [New Thread 0x7fffe7f6e700 (LWP 15852)] > > [Detaching after vfork from child process 15856] > > [New Thread 0x7fffe6477700 (LWP 15857)] > > [New Thread 0x7fffdf3a0700 (LWP 15858)] > > [Detaching after fork from child process 15859] > > [Detaching after fork from child process 15861] > > > > Thread 1 "gbx3" received signal SIGSEGV, Segmentation fault. > > 0x00007fffec8a5791 in > > chameleon::ChameleonStyle::drawPrimitive(QStyle::PrimitiveElement, > > QStyleOption const*, QPainter*, QWidget const*) const () > > from /usr/lib/x86_64-linux-gnu/qt5/plugins/styles/libchameleon.so > > > > I need the stack backtrace, i.e. the result of the 'bt' command after > the crash. > > Anyway it seems to crash inside the "Chameleon" widget style, so I guess > that you won't have the crash anymore if you change the Qt5 widget style. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Sun Apr 26 23:23:01 2020 From: tercoide at hotmail.com (martin p cristia) Date: Sun, 26 Apr 2020 18:23:01 -0300 Subject: [Gambas-user] Correct way to .Refresh a DrawingArea with Paint? In-Reply-To: References: Message-ID: I have a drawing area with things that move with MouseMove coordinates. It is with a timer? like: Public Sub tmrTick_Timer()'at 33Hz daPlanta1.Refresh? ' here? End or Public Sub daPlanta1_MouseMove() NewX = Mouse.X' used to change things NewY = Mouse.Y daPlanta1.Refresh? ' or here? End Also, what happens when I draw a lot of things and .Refresh is called BEFORE the _Draw event finished? -- Saludos Ing. Martin P Cristia From jussi.lahtinen at gmail.com Sun Apr 26 23:44:02 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 27 Apr 2020 00:44:02 +0300 Subject: [Gambas-user] Correct way to .Refresh a DrawingArea with Paint? In-Reply-To: References: Message-ID: > It is with a timer? like: > > Public Sub tmrTick_Timer()'at 33Hz > > daPlanta1.Refresh ' here? > > End > > or > > Public Sub daPlanta1_MouseMove() > > NewX = Mouse.X' used to change things > NewY = Mouse.Y > daPlanta1.Refresh ' or here? > > End > Either one should work, but the latter can cause a lot of extra calls. Maybe enable the timer on mouse move event for optimal CPU usage. > Also, what happens when I draw a lot of things and .Refresh is called > BEFORE the _Draw event finished? > I don't think that can happen. Unless you do something wrong like put wait command in the event. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Mon Apr 27 01:15:47 2020 From: tercoide at hotmail.com (martin p cristia) Date: Sun, 26 Apr 2020 20:15:47 -0300 Subject: [Gambas-user] 2 quickies In-Reply-To: References: Message-ID: 1-Wich is the main english forum? 2-Wich is the correct way to use Fast providing: I have math functions called a lot at MouseMove events so I need them to be fast but to remain in memory so the Fast loading overhead time don't spoil its usage. I mean the funcion Fastenned is not that large, but its called say 10k times each MouseMove. I thougth using a module and declaring Static Fast. -- Saludos Ing. Martin P Cristia From jussi.lahtinen at gmail.com Mon Apr 27 01:52:26 2020 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 27 Apr 2020 02:52:26 +0300 Subject: [Gambas-user] 2 quickies In-Reply-To: References: Message-ID: > 2-Wich is the correct way to use Fast providing: > > I have math functions called a lot at MouseMove events so I need them to > be fast but to remain in memory > > so the Fast loading overhead time don't spoil its usage. I mean the > funcion Fastenned is not that large, but its called > > say 10k times each MouseMove. > > I thougth using a module and declaring Static Fast. > Static does nothing for module, they are already static. I suggest to test function by function, which benefits from the JIT and only use it when absolutely necessary. Why the function is called 10k times at each MouseMove? Can you cache anything or calculate beforehand? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Mon Apr 27 08:09:47 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Mon, 27 Apr 2020 11:54:47 +0545 Subject: [Gambas-user] gb.web.gui application with apache2 Message-ID: Hi Beno?t How can I run application with gb.web.gui with apache2? Is the method different from that of gb.web.form? When I run an application with gb.web.form in apache2 then it works well. However when the same application using gb.web.gui is run in apache2 it does not load the form. In terminal the two application output little different. 1) The application with gb.web.form outputs "Content-type: text/html;charset=utf-8" in the first line. 2) However the application with gb.web.gui outputs "Set-Cookie: GBSESSIONID=:596DC6099DEACC59BDACF03B;path=/;httponly" in the first line followed by "Content-type: text/html;charset=utf-8" in the second line. From adamnt42 at gmail.com Mon Apr 27 12:36:41 2020 From: adamnt42 at gmail.com (Bruce) Date: Mon, 27 Apr 2020 20:06:41 +0930 Subject: [Gambas-user] Is GTK still relevant? Message-ID: This is just a general question. Does anyone out there actually use a GTK based UI? I don't know because we have used the gb.gui.qt approach for several years now. However, today I tried to do a bit of web research about GTK and failed to find anything that could justify the effort of trying to use it as a general user interface. I did find some stuff about GTK4 but it seemed to be, well, take some chrome off and add some more chrome over there. A bit like 1950's Oldsmobiles. Any coments? b From g4mba5 at gmail.com Mon Apr 27 13:09:31 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 27 Apr 2020 13:09:31 +0200 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: <35d012bf-af25-2fcd-27c8-eab8657e3227@gmail.com> Le 27/04/2020 ? 08:09, Safiur Rahman a ?crit?: > Hi Beno?t > > How can I run application with gb.web.gui with apache2? Is the method > different from that of gb.web.form? As explained in a previous mail, gb.web.gui works differently than gb.web.form inside, but it should make no difference from the outside, i.e. from the web server. It is still a CGI script. > When I run an application with gb.web.form in apache2 then it works > well. However when the same application using gb.web.gui is run in > apache2 it does not load the form. > In terminal the two application output little different. > 1) The application with gb.web.form outputs "Content-type: > text/html;charset=utf-8" in the first line. > 2) However the application with gb.web.gui outputs "Set-Cookie: > GBSESSIONID=:596DC6099DEACC59BDACF03B;path=/;httponly" in the first > line followed by "Content-type: text/html;charset=utf-8" in the second > line. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > There is no reason it should not work with apache2, and AFAIK there is no mandatory order in HTTP headers. I use 'thttpd' on my own computer, and it works. I will try to find other servers with different http servers to check. Regards, -- Beno?t Minisini From tercoide at hotmail.com Mon Apr 27 13:22:46 2020 From: tercoide at hotmail.com (martin p cristia) Date: Mon, 27 Apr 2020 08:22:46 -0300 Subject: [Gambas-user] JIT In-Reply-To: References: Message-ID: How JIT works? does it complile at first run or each time its called? El 4/27/20 a las 3:10 AM, user-request at lists.gambas-basic.org escribi?: > Static does nothing for module, they are already static. I suggest to test > function by function, which benefits from the JIT and only use it when > absolutely necessary. > Why the function is called 10k times at each MouseMove? Can you cache > anything or calculate beforehand? -- Saludos Ing. Martin P Cristia From g4mba5 at gmail.com Mon Apr 27 13:27:07 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 27 Apr 2020 13:27:07 +0200 Subject: [Gambas-user] JIT In-Reply-To: References: Message-ID: <416b7aff-c62c-609f-4733-457a2ae40d64@gmail.com> Le 27/04/2020 ? 13:22, martin p cristia a ?crit?: > How JIT works? does it complile at first run or each time its called? > > El 4/27/20 a las 3:10 AM, user-request at lists.gambas-basic.org escribi?: >> Static does nothing for module, they are already static.? I suggest to >> test >> function by function, which benefits from the JIT and only use it when >> absolutely necessary. >> Why the function is called 10k times at each MouseMove? Can you cache >> anything? or calculate beforehand? > http://gambaswiki.org/wiki/doc/jit -- Beno?t Minisini From charlie at cogier.com Mon Apr 27 15:34:08 2020 From: charlie at cogier.com (Charlie Ogier) Date: Mon, 27 Apr 2020 14:34:08 +0100 Subject: [Gambas-user] 2 quickies In-Reply-To: References: Message-ID: <3b86a652-0d23-40c0-8b83-8292fa8af6a7@cogier.com> The only English Forum I know is Gambas.One On 27/04/2020 00:15, martin p cristia wrote: > 1-Wich is the main english forum? > > 2-Wich is the correct way to use Fast providing: > > I have math functions called a lot at MouseMove events so I need them > to be fast but to remain in memory > > so the Fast loading overhead time don't spoil its usage. I mean the > funcion Fastenned is not that large, but its called > > say 10k times each MouseMove. > > I thougth using a module and declaring Static Fast. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Tue Apr 28 13:24:33 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Tue, 28 Apr 2020 14:24:33 +0300 Subject: [Gambas-user] WebExpander Height Message-ID: <20200428111826.M39827@455.co.il> Hello I'm trying to define in the Height property For example: 40em It doesn't change the height Is that supposed to be the case? Width property works well Thanks for the help From bagonergi at gmail.com Tue Apr 28 16:51:57 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 28 Apr 2020 16:51:57 +0200 Subject: [Gambas-user] 2 quickies In-Reply-To: <3b86a652-0d23-40c0-8b83-8292fa8af6a7@cogier.com> References: <3b86a652-0d23-40c0-8b83-8292fa8af6a7@cogier.com> Message-ID: Il giorno lun 27 apr 2020 alle ore 15:58 Charlie Ogier ha scritto: > The only English Forum I know is Gambas.One > > > > On 27/04/2020 00:15, martin p cristia wrote: > > 1-Wich is the main english forum? > > I thought the official Gambas forum was this: https://gambas.discourse.group/ One thing is for sure, it cannot be the fault of that forum the diffusion of the Covid19 Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Apr 28 17:16:26 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 28 Apr 2020 17:16:26 +0200 Subject: [Gambas-user] WebExpander Height In-Reply-To: <20200428111826.M39827@455.co.il> References: <20200428111826.M39827@455.co.il> Message-ID: Le 28/04/2020 ? 13:24, Mayost Sharon a ?crit?: > Hello > > I'm trying to define in the Height property > For example: 40em > It doesn't change the height > Is that supposed to be the case? > > Width property works well > > Thanks for the help > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > As usual, please provide the project. -- Beno?t Minisini From g4mba5 at gmail.com Tue Apr 28 17:21:54 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 28 Apr 2020 17:21:54 +0200 Subject: [Gambas-user] DBUS signal questions In-Reply-To: <0a55b56c-fa9f-c68c-2b36-52c9aa6d75fb@gmail.com> References: <0a55b56c-fa9f-c68c-2b36-52c9aa6d75fb@gmail.com> Message-ID: <49a1ec00-e930-7304-eefe-dbf20c7a8c79@gmail.com> Le 25/04/2020 ? 09:10, Bruce a ?crit?: > Two questions > > 1) There doesn't seem to be any way to stop watching for a signal? > You have the Enabled property for that. > > 2) There doesn't seem to be a way to watch for a signal from a specific > object on the server. > As written in the documentation, you can use the DBusObserver class for that. Look at the source code of DBusSignal : it is a thin wrapper around DBusObserver. It just does not have an "Object" argument in its constructor. Regards, -- Beno?t Minisini From sharon at 455.co.il Tue Apr 28 17:55:16 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Tue, 28 Apr 2020 18:55:16 +0300 Subject: [Gambas-user] WebExpander Height In-Reply-To: References: <20200428111826.M39827@455.co.il> Message-ID: <20200428155455.M53304@455.co.il> ---------- Original Message ----------- From: Beno?t Minisini To: user at lists.gambas-basic.org Sent: Tue, 28 Apr 2020 17:16:26 +0200 Subject: Re: [Gambas-user] WebExpander Height > Le 28/04/2020 ? 13:24, Mayost Sharon a ?crit?: > > Hello > > > > I'm trying to define in the Height property > > For example: 40em > > It doesn't change the height > > Is that supposed to be the case? > > > > Width property works well > > > > Thanks for the help > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > As usual, please provide the project. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ------- End of Original Message ------- Thank you I attaching example that tries to understand what the difference between a container does is change the height. And the WebExpander does not let the height change. Also in the example that is attached, When you press the small arrow on the WebExpander, it should hide all the controls inside. But there is still a blue background. He seems to have set the blue color as well as the height of the parent container Many thanks -------------- next part -------------- A non-text attachment was scrubbed... Name: wf5.zip Type: application/zip Size: 16013 bytes Desc: not available URL: From charlie at cogier.com Tue Apr 28 17:57:28 2020 From: charlie at cogier.com (Charlie Ogier) Date: Tue, 28 Apr 2020 16:57:28 +0100 Subject: [Gambas-user] 2 quickies In-Reply-To: References: <3b86a652-0d23-40c0-8b83-8292fa8af6a7@cogier.com> Message-ID: <957d73aa-0e09-6b6d-920a-4fc9fee395ed@cogier.com> On 28/04/2020 15:51, Gianluigi wrote: > > > Il giorno lun 27 apr 2020 alle ore 15:58 Charlie Ogier > > ha scritto: > > The only English Forum I know is Gambas.One > > > > > On 27/04/2020 00:15, martin p cristia wrote: >> 1-Wich is the main english forum? > > > I thought the official Gambas forum was this: > > https://gambas.discourse.group/ > > One thing is for sure, it cannot be the fault of that forum the > diffusion of the Covid19 > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I didn't know about that one. Anyway I am biased! -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Apr 28 19:11:01 2020 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 28 Apr 2020 19:11:01 +0200 Subject: [Gambas-user] 2 quickies In-Reply-To: <957d73aa-0e09-6b6d-920a-4fc9fee395ed@cogier.com> References: <3b86a652-0d23-40c0-8b83-8292fa8af6a7@cogier.com> <957d73aa-0e09-6b6d-920a-4fc9fee395ed@cogier.com> Message-ID: Il giorno mar 28 apr 2020 alle ore 18:19 Charlie Ogier ha scritto: > On 28/04/2020 15:51, Gianluigi wrote: > > > > Il giorno lun 27 apr 2020 alle ore 15:58 Charlie Ogier > ha scritto: > >> The only English Forum I know is Gambas.One >> >> >> >> On 27/04/2020 00:15, martin p cristia wrote: >> >> 1-Wich is the main english forum? >> >> > I thought the official Gambas forum was this: > > https://gambas.discourse.group/ > > One thing is for sure, it cannot be the fault of that forum the diffusion > of the Covid19 > > I didn't know about that one. Anyway I am biased! > > Charlie... mischievous :-) ...and a kiss to Fabien :-P ;-D ;-D Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Apr 29 04:40:30 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 29 Apr 2020 04:40:30 +0200 Subject: [Gambas-user] WebExpander Height In-Reply-To: <20200428155455.M53304@455.co.il> References: <20200428111826.M39827@455.co.il> <20200428155455.M53304@455.co.il> Message-ID: <73457f74-c34a-3ea4-02a7-65cb73d9b7bd@gmail.com> Le 28/04/2020 ? 17:55, Mayost Sharon a ?crit?: > ---------- Original Message ----------- > From: Beno?t Minisini > To: user at lists.gambas-basic.org > Sent: Tue, 28 Apr 2020 17:16:26 +0200 > Subject: Re: [Gambas-user] WebExpander Height > >> Le 28/04/2020 ? 13:24, Mayost Sharon a ?crit?: >>> Hello >>> >>> I'm trying to define in the Height property >>> For example: 40em >>> It doesn't change the height >>> Is that supposed to be the case? >>> >>> Width property works well >>> >>> Thanks for the help >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> >> As usual, please provide the project. >> >> -- >> Beno?t Minisini >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > ------- End of Original Message ------- > > Thank you > > I attaching example that tries to understand what the difference between a container does is change the height. > And the WebExpander does not let the height change. > > Also in the example that is attached, > > When you press the small arrow on the WebExpander, it should hide all the controls inside. > But there is still a blue background. > He seems to have set the blue color as well as the height of the parent container > > Many thanks > You must not set the height of the WebExpander, it prevents it from shrinking. You must set the height of what is put inside the WebExpander. For example put one container with 20em height the WebExpander, and put what you want inside that container. Regards, -- Beno?t Minisini From isafiur at gmail.com Wed Apr 29 09:56:46 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Wed, 29 Apr 2020 13:41:46 +0545 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: Hi I included printJS (https://printjs.crabbly.com/) and I could print properly any content. I also created PDF using external application (eg. wkhtmltopdf). But during printing the PDF (generated from wkhtmltopdf) I couldn't pass the correct path of the file to printJS because the PDF file was generated in Temp folder. How can I pass file path in Temp folder to javascript function? I have been using gb.web.gui. ''Generating PDF sPath = Temp() & ".pdf Shell "wkhtmltopdf " & sHtml & " " & sPath Wait ''Printing PDF Me.Exec("printJS('" & "test.pdf" & "')") On 4/18/20, Safiur Rahman wrote: > Thank you very much > Can you provide an example of forcing a file to download. I couldn't do it. > > On 4/17/20, Safiur Rahman wrote: >> Hi >> Can you please provide an example in gb.web/gb.web.form so that I can >> convert a HTML file into PDF and download it or send to printer. >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman From t.lee.davidson at gmail.com Wed Apr 29 17:27:03 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 29 Apr 2020 11:27:03 -0400 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: <9523ddc6-ecaf-c3c1-0b30-b6d87354e26a@gmail.com> On 4/29/20 3:56 AM, Safiur Rahman wrote: > Hi > I included printJS (https://printjs.crabbly.com/) and I could print > properly any content. I also created PDF using external application > (eg. wkhtmltopdf). But during printing the PDF (generated from > wkhtmltopdf) I couldn't pass the correct path of the file to printJS > because the PDF file was generated in Temp folder. How can I pass file > path in Temp folder to javascript function? I have been using > gb.web.gui. > > ''Generating PDF > sPath = Temp() & ".pdf > Shell "wkhtmltopdf " & sHtml & " " & sPath Wait > > ''Printing PDF > Me.Exec("printJS('" & "test.pdf" & "')") > I'm not familiar with printJS and have not used gb.web.gui. But, instead of hard-coding the PDF filename, did you try passing the path of the created file? Ie.: Me.Exec("printJS(" & sPath & ")") Or perhaps Copy the file to the web root, and then pass that path to printJS. -- Lee From isafiur at gmail.com Wed Apr 29 18:08:01 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Wed, 29 Apr 2020 21:53:01 +0545 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: Hi Passing path of created file does not work: ''Generating PDF sPath = Temp() & ".pdf Shell "wkhtmltopdf " & sHtml & " " & sPath Wait ''Printing PDF (generated above) Me.Exec("printJS('" & sPath & "')") How can I get web root and how can I send file there? I have to run application with apache2 from /usr/lib/cgi-bin/ folder. On 4/29/20, Safiur Rahman wrote: > Hi > I included printJS (https://printjs.crabbly.com/) and I could print > properly any content. I also created PDF using external application > (eg. wkhtmltopdf). But during printing the PDF (generated from > wkhtmltopdf) I couldn't pass the correct path of the file to printJS > because the PDF file was generated in Temp folder. How can I pass file > path in Temp folder to javascript function? I have been using > gb.web.gui. > > ''Generating PDF > sPath = Temp() & ".pdf > Shell "wkhtmltopdf " & sHtml & " " & sPath Wait > > ''Printing PDF > Me.Exec("printJS('" & "test.pdf" & "')") > > On 4/18/20, Safiur Rahman wrote: >> Thank you very much >> Can you provide an example of forcing a file to download. I couldn't do >> it. >> >> On 4/17/20, Safiur Rahman wrote: >>> Hi >>> Can you please provide an example in gb.web/gb.web.form so that I can >>> convert a HTML file into PDF and download it or send to printer. >>> >> >> >> -- >> Regards >> Safiur Rahman >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman From t.lee.davidson at gmail.com Thu Apr 30 07:31:53 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 30 Apr 2020 01:31:53 -0400 Subject: [Gambas-user] Example for download and print in gb.web/gb.web.form In-Reply-To: References: Message-ID: On 4/29/20 12:08 PM, Safiur Rahman wrote: > Hi > > Passing path of created file does not work: > ''Generating PDF > sPath = Temp() & ".pdf > Shell "wkhtmltopdf " & sHtml & " " & sPath Wait > > ''Printing PDF (generated above) > Me.Exec("printJS('" & sPath & "')") Did you get any error on the browser console that might indicate why it does not work? > How can I get web root and how can I send file there? I have to run > application with apache2 from/usr/lib/cgi-bin/ folder. Application.Path should give you the directory where your program resides. Try: Copy sPath To Application.Path or Copy sPath to "/usr/lib/cgi-bin/" If you experience permission issues you may need to use CHMOD on the file. http://gambaswiki.org/wiki/comp/gb.web/application http://gambaswiki.org/wiki/lang/copy http://gambaswiki.org/wiki/lang/chmod -- Lee From isafiur at gmail.com Thu Apr 30 11:34:10 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 30 Apr 2020 15:19:10 +0545 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: Hi Beno?t Even removing first line "Set-Cookie:...." didn't help when running in apache2. So I checked the apache2 log files and in error.log I found "gbx3: unable to find startup file: /usr/lib/cgi-bin/newapp" The full error line was: [cgi:error] [pid 25663:tid 140014927214336] [client 127.0.0.1:49956] AH01215: gbx3: unable to find startup file: /usr/lib/cgi-bin/newapp On 4/27/20, Safiur Rahman wrote: > Hi Beno?t > > How can I run application with gb.web.gui with apache2? Is the method > different from that of gb.web.form? > When I run an application with gb.web.form in apache2 then it works > well. However when the same application using gb.web.gui is run in > apache2 it does not load the form. > In terminal the two application output little different. > 1) The application with gb.web.form outputs "Content-type: > text/html;charset=utf-8" in the first line. > 2) However the application with gb.web.gui outputs "Set-Cookie: > GBSESSIONID=:596DC6099DEACC59BDACF03B;path=/;httponly" in the first > line followed by "Content-type: text/html;charset=utf-8" in the second > line. > -- Regards Safiur Rahman From mike.crean at y7mail.com Thu Apr 30 11:45:47 2020 From: mike.crean at y7mail.com (Mike Crean) Date: Thu, 30 Apr 2020 09:45:47 +0000 (UTC) Subject: [Gambas-user] mouse References: <476431862.130750.1588239947635.ref@mail.yahoo.com> Message-ID: <476431862.130750.1588239947635@mail.yahoo.com> Hi all I am tryingto catch a mouse event when inside a PictureBox Child when the LEFTMOUSE button ispressed. I can?t for the life of me see the answer and it is probablystaringme in the face. Public SubTimer1_Timer() ????Dim oo AsPictureBox ????Dim I As Integer ????Dim x As Integer ????I = 0 ????For Each oo InPictureBox1.Children ????????If oo IsPictureBox Then ????????????I = I + 1 ????????????For x = 1 To I ????????????????IfMouse.Inside(oo) Then ????????????????????Ifoo.Mouse.Left Then???????????????????? ' ERROR Not an object ????????????????????????Label7.Text = ?Got oo? ????????????????????Endif ????????????????Endif ????????????Next ????????Endif ????Next End Or with this I getthe error. No mouse event data in Fmain 41 If Mouse.Left(oo)Then ' ERROR No mouse event data in Fmain 41 ? ? Label7.Text =?Got oo?Endif RegardsMike -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Apr 30 12:06:15 2020 From: adamnt42 at gmail.com (Bruce) Date: Thu, 30 Apr 2020 19:36:15 +0930 Subject: [Gambas-user] mouse In-Reply-To: <476431862.130750.1588239947635@mail.yahoo.com> References: <476431862.130750.1588239947635.ref@mail.yahoo.com> <476431862.130750.1588239947635@mail.yahoo.com> Message-ID: On 30/4/20 7:15 pm, Mike Crean via User wrote: > Hi all I am tryingto catch a mouse event when inside a PictureBox Child when the LEFTMOUSE button ispressed. I can?t for the life of me see the answer and it is probablystaringme in the face. > > > > Public SubTimer1_Timer() > I have to ask, why are you using a timer? Timers know nothing about mices. Apart from that, what do you mean by a PictureBox Child? Apart from that, even though a PictureBox has no Click event, you can fake it using the MouseUp event. From memory, the MouseUp event does know about the state of the mouse. hth b From g4mba5 at gmail.com Thu Apr 30 12:58:02 2020 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 30 Apr 2020 12:58:02 +0200 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: <247e9ff2-b36c-0592-a7ca-a23a097c3b68@gmail.com> Le 30/04/2020 ? 11:34, Safiur Rahman a ?crit?: > Hi Beno?t > > Even removing first line "Set-Cookie:...." didn't help when running > in apache2. So I checked the apache2 log files and in error.log I > found "gbx3: unable to find startup file: /usr/lib/cgi-bin/newapp" > The full error line was: > [cgi:error] [pid 25663:tid 140014927214336] [client 127.0.0.1:49956] > AH01215: gbx3: unable to find startup file: /usr/lib/cgi-bin/newapp > You have to install the executable of your project as a CGI script for the web server. Did you do that? -- Beno?t Minisini From isafiur at gmail.com Thu Apr 30 15:58:57 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 30 Apr 2020 19:43:57 +0545 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: Hi Beno?t I will explain you everything in detail. I am using ubuntu 19.04 with gambas daily build (ppa:gambas-team/gambas-daily). As the package doesn't contain gambas-gb.web.gui I downloaded the source code from the repository and created installable package and then installed. https://launchpad.net/~gambas-team/+archive/ubuntu/gambas-daily/+sourcefiles/gambas3/3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1/gambas3_3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1.tar.xz Apache2 installation: sudo apt install apache2 cd /etc/apache2/mods-enabled sudo ln -s ../mods-available/cgi.load systemctl restart apache2 I created two exact applications in gambas (New project -> Web Form Application): 1) testapp (with gb.web.form) 2) newapp (with gb.web.gui) I created installable package for both applications. As executables need to go to /usr/lib/cgi-bin/ folder I changed the target of both executables. I installed both. Now I can access both applications from my firefox browsers. 1) I can access http://localhost/cgi-bin/testapp 2) I cannot access http://localhost/cgi-bin/newapp .The apache2 error.log produces following error: [Thu Apr 30 19:37:27.937666 2020] [cgi:error] [pid 774:tid 140524387108608] [client 127.0.0.1:38492] AH01215: gbx3: unable to find startup file: /usr/lib/cgi-bin/newapp Please guide me if I have done any mistake. Also tell me if you can run newapp (code attached) then I will format my system and retry. (All related codes and packages are attached) From isafiur at gmail.com Thu Apr 30 16:03:29 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 30 Apr 2020 19:48:29 +0545 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: The related packages I used are followings: http://www.safiur.com.np/container/webapps.zip On 4/30/20, Safiur Rahman wrote: > Hi Beno?t > > I will explain you everything in detail. I am using ubuntu 19.04 with > gambas daily build (ppa:gambas-team/gambas-daily). As the package > doesn't contain gambas-gb.web.gui I downloaded the source code from > the repository and created installable package and then installed. > https://launchpad.net/~gambas-team/+archive/ubuntu/gambas-daily/+sourcefiles/gambas3/3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1/gambas3_3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1.tar.xz > > Apache2 installation: > sudo apt install apache2 > cd /etc/apache2/mods-enabled > sudo ln -s ../mods-available/cgi.load > systemctl restart apache2 > > I created two exact applications in gambas (New project -> Web Form > Application): > 1) testapp (with gb.web.form) > 2) newapp (with gb.web.gui) > I created installable package for both applications. As executables > need to go to /usr/lib/cgi-bin/ folder I changed the target of both > executables. I installed both. Now I can access both applications from > my firefox browsers. > 1) I can access http://localhost/cgi-bin/testapp > 2) I cannot access http://localhost/cgi-bin/newapp .The apache2 > error.log produces following error: > [Thu Apr 30 19:37:27.937666 2020] [cgi:error] [pid 774:tid > 140524387108608] [client 127.0.0.1:38492] AH01215: gbx3: unable to > find startup file: /usr/lib/cgi-bin/newapp > > > Please guide me if I have done any mistake. Also tell me if you can > run newapp (code attached) then I will format my system and retry. > (All related codes and packages are attached) > -- Regards Safiur Rahman From isafiur at gmail.com Thu Apr 30 16:11:08 2020 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 30 Apr 2020 19:56:08 +0545 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: Sorry I am using ubuntu 19.10. The System Information is: [System] Gambas=3.14.90 OperatingSystem=Linux Kernel=5.3.0-46-generic Architecture=x86_64 Distribution=Ubuntu 19.10 Desktop=UBUNTU:GNOME Theme=Fusion Language=C.UTF-8 Memory=3817M [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.5.0 DBus=libdbus-1.so.3.19.10 GStreamer=libgstreamer-1.0.so.0.1601.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2404.8 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.90.0.0 QT4=libQtCore.so.4.8.7 QT5=libQt5Core.so.5.12.4 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] CLUTTER_IM_MODULE=ibus DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION= DISPLAY=:0 GB_GUI=gb.qt5 GDMSESSION= GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=9436 GJS_DEBUG_OUTPUT=stderr GJS_DEBUG_TOPICS=JS ERROR;JS LOG GNOME_DESKTOP_SESSION_ID=this-is-deprecated GNOME_SHELL_SESSION_MODE= GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_IM_MODULE=ibus GTK_MODULES=gail:atk-bridge:appmenu-gtk-module HOME= IM_CONFIG_PHASE=1 INVOCATION_ID=1c6e7ac0a6ad4e86a3167c8be706ac76 JOURNAL_STREAM=9:43034 LANG=C.UTF-8 LOGNAME= MANAGERPID=1567 PATH=/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT4_IM_MODULE=ibus QT_IM_MODULE=ibus QT_LOGGING_RULES=*.debug=false SESSION_MANAGER=local/:@/tmp/.ICE-unix/1812,unix/:/tmp/.ICE-unix/1812 SHELL=/bin/bash SHLVL=0 SSH_AGENT_PID=1682 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= USERNAME= WINDOWPATH=2 XAUTHORITY=/run/user/1000/gdm/Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-:/etc/xdg XDG_CURRENT_DESKTOP=:GNOME XDG_DATA_DIRS=/usr/share/:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop XDG_MENU_PREFIX=gnome- XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP= XDG_SESSION_TYPE=x11 XMODIFIERS=@im=ibus _=/usr/bin/dbus-update-activation-environment On 4/30/20, Safiur Rahman wrote: > The related packages I used are followings: > http://www.safiur.com.np/container/webapps.zip > > On 4/30/20, Safiur Rahman wrote: >> Hi Beno?t >> >> I will explain you everything in detail. I am using ubuntu 19.04 with >> gambas daily build (ppa:gambas-team/gambas-daily). As the package >> doesn't contain gambas-gb.web.gui I downloaded the source code from >> the repository and created installable package and then installed. >> https://launchpad.net/~gambas-team/+archive/ubuntu/gambas-daily/+sourcefiles/gambas3/3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1/gambas3_3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1.tar.xz >> >> Apache2 installation: >> sudo apt install apache2 >> cd /etc/apache2/mods-enabled >> sudo ln -s ../mods-available/cgi.load >> systemctl restart apache2 >> >> I created two exact applications in gambas (New project -> Web Form >> Application): >> 1) testapp (with gb.web.form) >> 2) newapp (with gb.web.gui) >> I created installable package for both applications. As executables >> need to go to /usr/lib/cgi-bin/ folder I changed the target of both >> executables. I installed both. Now I can access both applications from >> my firefox browsers. >> 1) I can access http://localhost/cgi-bin/testapp >> 2) I cannot access http://localhost/cgi-bin/newapp .The apache2 >> error.log produces following error: >> [Thu Apr 30 19:37:27.937666 2020] [cgi:error] [pid 774:tid >> 140524387108608] [client 127.0.0.1:38492] AH01215: gbx3: unable to >> find startup file: /usr/lib/cgi-bin/newapp >> >> >> Please guide me if I have done any mistake. Also tell me if you can >> run newapp (code attached) then I will format my system and retry. >> (All related codes and packages are attached) >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman From charlie at cogier.com Thu Apr 30 18:51:26 2020 From: charlie at cogier.com (Charlie Ogier) Date: Thu, 30 Apr 2020 17:51:26 +0100 Subject: [Gambas-user] mouse In-Reply-To: <476431862.130750.1588239947635@mail.yahoo.com> References: <476431862.130750.1588239947635.ref@mail.yahoo.com> <476431862.130750.1588239947635@mail.yahoo.com> Message-ID: Hi Mike, Try running this code in a new Gambas Graphical Application program: - *' Gambas class file** ** **Label1 As Label** ** **Public Sub Form_Open()** ** **? Dim PictureBox1 As PictureBox** ** **? With Me** **??? .Arrangement = Arrange.Vertical** **??? .Height = 150** **??? .Width = 175** **??? .Padding = 5** **??? .Text = "Click!"** **? End With** ** **? With PictureBox1 = New PictureBox(Me) As "PictureBox1"** **??? .Mode = PictureBox.Contain** **??? .Alignment = Align.Center** **??? .Expand = True** **??? .Picture = Picture["icon:/huge/linux"]** **? End With** ** **? With Label1 = New Label(Me) As "Label1"** **??? .Height = 28** **??? .Text = "Click on the PictureBox"** **??? .Alignment = Align.Center** **??? .Font.Bold = True** **? End With** ** **End** ** **Public Sub PictureBox1_MouseDown()** ** **? If Mouse.Left Then Label1.Text = "You left clicked"** **? If Mouse.Right Then Label1.Text = "You right clicked"** **? If Mouse.Middle Then Label1.Text = "You middle clicked"** ** **End** * I hope that helps, Charlie On 30/04/2020 10:45, Mike Crean via User wrote: > Hi all I am trying to catch a mouse event when inside a PictureBox > Child when the LEFT > MOUSE button is pressed. I can?t for the life of me see the answer and > it is probably staring > me in the face. > > > Public Sub Timer1_Timer() > > ????Dim oo As PictureBox > > ????Dim I As Integer > > ????Dim x As Integer > > ????I = 0 > > ????For Each oo In PictureBox1.Children > > ????????If oo Is PictureBox Then > > ????????????I = I + 1 > > ????????????For x = 1 To I > > ????????????????If Mouse.Inside(oo) Then > > ????????????????????If oo.Mouse.Left Then???????????????????? ' ERROR > Not an object > > ????????????????????????Label7.Text = ?Got oo? > > ????????????????????Endif > > ????????????????Endif > > ????????????Next > > ????????Endif > > ????Next > > End > > Or with this I get the error. No mouse event data in Fmain 41 > > If Mouse.Left(oo) Then ' ERROR No mouse event data in Fmain 41 > > Label7.Text = ?Got oo? > Endif > > Regards > Mike > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Thu Apr 30 19:44:56 2020 From: chrisml at deganius.de (Christof Thalhofer) Date: Thu, 30 Apr 2020 19:44:56 +0200 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: Am 30.04.20 um 15:58 schrieb Safiur Rahman: > 140524387108608] [client 127.0.0.1:38492] AH01215: gbx3: unable to > find startup file: /usr/lib/cgi-bin/newapp The Apache says the error. Is the file there? Please provide the output of $ ls -la /usr/lib/cgi-bin/newapp* Alles Gute Christof Thalhofer -- [x] nail here for new monitor From t.lee.davidson at gmail.com Thu Apr 30 19:51:49 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 30 Apr 2020 13:51:49 -0400 Subject: [Gambas-user] gb.web.gui application with apache2 In-Reply-To: References: Message-ID: <1107b5da-a5da-a3a3-ffdd-4b34972a0926@gmail.com> On 4/30/20 9:58 AM, Safiur Rahman wrote: > I will explain you everything in detail. I am using ubuntu 19.04 with > gambas daily build (ppa:gambas-team/gambas-daily). As the package > doesn't contain gambas-gb.web.gui I downloaded the source code from > the repository and created installable package and then installed. > https://launchpad.net/~gambas-team/+archive/ubuntu/gambas-daily/+sourcefiles/gambas3/3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1/gambas3_3.14.90+git6577.c443337+build179c7bb3~ubuntu19.10.1.tar.xz Not to hijack -- I just want to interject some info. The gb.web.gui component is also not available in a stable openSUSE repository. I found it in an unstable community repository linked to gambas3-3.14.90+git.20200423. Since gb.web.gui is said to replace gb.web.form and gb.web.form is deprecated since Gambas v3.9, it seems the package should be in a stable repo. -- Lee From t.lee.davidson at gmail.com Thu Apr 30 20:01:34 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 30 Apr 2020 14:01:34 -0400 Subject: [Gambas-user] mouse In-Reply-To: <476431862.130750.1588239947635@mail.yahoo.com> References: <476431862.130750.1588239947635.ref@mail.yahoo.com> <476431862.130750.1588239947635@mail.yahoo.com> Message-ID: On 4/30/20 5:45 AM, Mike Crean via User wrote: > Dim oo As PictureBox > [snip]> > ????????????????????If oo.Mouse.Left Then???????????????????? ' ERROR Not an object > PictureBox.Mouse is not an object. It is a property of integer type and, therefore, has no properties of its own. Charlie's example might help you get to where you are going. -- Lee From sharon at 455.co.il Thu Apr 30 20:33:07 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Thu, 30 Apr 2020 21:33:07 +0300 Subject: [Gambas-user] WebTable Message-ID: <20200430183013.M85821@455.co.il> Hello When I refresh the page (Ctrl+R Firefox) Adds duplicate columns to WebTable Attached is an example Many thanks -------------- next part -------------- A non-text attachment was scrubbed... Name: wftbl1.zip Type: application/zip Size: 16524 bytes Desc: not available URL: From sharon at 455.co.il Thu Apr 30 20:55:24 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Thu, 30 Apr 2020 21:55:24 +0300 Subject: [Gambas-user] WebTable In-Reply-To: <20200430183013.M85821@455.co.il> References: <20200430183013.M85821@455.co.il> Message-ID: <20200430184953.M34451@455.co.il> ---------- Original Message ----------- From: "Mayost Sharon" To: Gambas Mailing List Sent: Thu, 30 Apr 2020 21:33:07 +0300 Subject: [Gambas-user] WebTable > Hello > > When I refresh the page (Ctrl+R Firefox) > Adds duplicate columns to WebTable > Attached is an example > > Many thanks ------- End of Original Message ------- Hello I see one of the examples: Who used the event: Public Sub _new () End I did put my code inside _new And that fixed the problem Is it possible to get help for what is _new and what is the difference between an Open event I did not see any such event in WebForm Many thanks From t.lee.davidson at gmail.com Thu Apr 30 21:17:10 2020 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 30 Apr 2020 15:17:10 -0400 Subject: [Gambas-user] WebTable In-Reply-To: <20200430184953.M34451@455.co.il> References: <20200430183013.M85821@455.co.il> <20200430184953.M34451@455.co.il> Message-ID: <103cccfb-b692-7acc-4f3d-2e6bfd438284@gmail.com> On 4/30/20 2:55 PM, Mayost Sharon wrote: > ---------- Original Message ----------- > From: "Mayost Sharon" > To: Gambas Mailing List > Sent: Thu, 30 Apr 2020 21:33:07 +0300 > Subject: [Gambas-user] WebTable > >> Hello >> >> When I refresh the page (Ctrl+R Firefox) >> Adds duplicate columns to WebTable >> Attached is an example >> >> Many thanks > ------- End of Original Message ------- > > Hello > > I see one of the examples: > Who used the event: > Public Sub _new () > End > > I did put my code inside _new > And that fixed the problem > > Is it possible to get help for what is _new and what is the difference between an Open event > > I did not see any such event in WebForm > > Many thanks http://gambaswiki.org/wiki/cat/special (From the main Wiki page > Language Overviews > Special Methods) The _new special method is called when the object is created. For a form, this occurs prior to the form being Opened. -- Lee From sharon at 455.co.il Thu Apr 30 22:47:32 2020 From: sharon at 455.co.il (Mayost Sharon) Date: Thu, 30 Apr 2020 23:47:32 +0300 Subject: [Gambas-user] WebTable In-Reply-To: <103cccfb-b692-7acc-4f3d-2e6bfd438284@gmail.com> References: <20200430183013.M85821@455.co.il> <20200430184953.M34451@455.co.il> <103cccfb-b692-7acc-4f3d-2e6bfd438284@gmail.com> Message-ID: <20200430203938.M37940@455.co.il> ---------- Original Message ----------- From: T Lee Davidson To: user at lists.gambas-basic.org Sent: Thu, 30 Apr 2020 15:17:10 -0400 Subject: Re: [Gambas-user] WebTable > On 4/30/20 2:55 PM, Mayost Sharon wrote: > > ---------- Original Message ----------- > > From: "Mayost Sharon" > > To: Gambas Mailing List > > Sent: Thu, 30 Apr 2020 21:33:07 +0300 > > Subject: [Gambas-user] WebTable > > > >> Hello > >> > >> When I refresh the page (Ctrl+R Firefox) > >> Adds duplicate columns to WebTable > >> Attached is an example > >> > >> Many thanks > > ------- End of Original Message ------- > > > > Hello > > > > I see one of the examples: > > Who used the event: > > Public Sub _new () > > End > > > > I did put my code inside _new > > And that fixed the problem > > > > Is it possible to get help for what is _new and what is the difference between an Open event > > > > I did not see any such event in WebForm > > > > Many thanks > > http://gambaswiki.org/wiki/cat/special > (From the main Wiki page > Language Overviews > Special Methods) > > The _new special method is called when the object is created. For a form, this > occurs prior to the form being Opened. > > -- > Lee > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ------- End of Original Message ------- Thanks If so, I don't understand How can it be that once it reaches the _NEW event the values of the controls are empty And when it arrives at the OPEN event the values of the controls are full. For example: ' Gambas class file Export Public Sub WebForm_Open() Debug "open" Debug WebLabel1.Text WebLabel1.text = Val(WebLabel1.text) + 1 End Public Sub _new() Debug "_new" Debug WebLabel1.Text End Whenever I refresh the page (Ctrl + R) It first comes to the _NEW event and the value of WebLabel1.Text is empty And at the end of the OPEN event, I see that WebLabel1.Text has value in it many thanks From bagonergi at gmail.com Thu Apr 30 23:36:44 2020 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 30 Apr 2020 23:36:44 +0200 Subject: [Gambas-user] DataSource.Table = SELECT... Message-ID: Hi, Can you pass a SELECT Aliases query to the DataSource.Table of gb.db.form, as SELECT column_name AS alias_name FROM table_name; or pass multiple tables with Inner Join ? Because I can't. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: