Page 10 of 18 FirstFirst ... 78910111213 ... LastLast
Results 361 to 400 of 695

Thread: Vb6 , the Future, and what I have discovered

  1. #361
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by wqweto View Post
    Btw, Olaf's .bas/.cls only VB6 successor is very close to a similar VBScript implementation.
    Well then. congratulations on an outline of vaporware that would just reinvent FreeBasic.

    If you want to do dark-world coding then just use FreeBasic.

  2. #362
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by dreammanor View Post
    IMO, the new compiler and IDE should be a combination of Web-Basic and VisualBasic(64-bit, platform-independent), which may be called VisualWebBasic.
    What is this "Web-Basic" anyway? Another fantasy?

  3. #363
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by baka View Post
    Im with GJChurchward, RC5 is not that intuitive and take effort to learn. without good examples and the feelings "i most have this" its easier to use a well known method instead.
    IMO the Cairo-wrapper is way easier to use than e.g. the GDI+ API ...
    (I'd say, even easier than plain GDI-API usage - since you can avoid all the Handle-Selecting, Freeing, etc.).

    And as for "wellknown methods" - you perhaps mean "good old GDI" - which you invested weeks to learn (when you were a Newbie) -
    though you seem not to be willing to invest even a day or two into learning the Cairo-DrawingMethods...
    (which are all explained in detail in a large Tutorial, which you and GJCurchward probably never looked at).

    This comes across a bit "brash", I assume - but modern rendering-engines require a bit of "willingness to learn" from your end.

    To implement e.g. a nice looking ToolBar-Widget or something, you'd need only to learn only a handful of Cairo-Drawing-Commands:
    - CC.DrawText
    - CC.RenderSurfcaeContent
    - CC.Rectangle (involving CC.SetSourceColor and CC.Fill + CC.Stroke)
    And that was it already.

    All the rest is already supported in the very VB.UserControl-like designed RC5-Widget-Engine
    (which offers you besides the usual Paint-Event als MouseEnter, MouseLeave and everything else you asked for in another post in this thread).

    Quote Originally Posted by baka View Post
    its not that we "need" to use RC5 at the moment right? GDI is still working and will for many years if not decades.
    Nope - in all likelihood it won't (whilst the platform-independently implemented Cairo-Rendering in the new VB-runtime will allow you, to use the same VB6-Code also on Linux later).

    Quote Originally Posted by baka View Post
    it would take me weeks to convert my code to RC5. is that something i want to do without even knowing it will give me better performance?
    And it would take you at least an equal amount of time, to convert your code to GDI+ - or even longer if you convert it to DirectX or Direct2D.
    If you are only doing "2D-games" - then Cairo is more than fast enough for your needs.

    Quote Originally Posted by baka View Post
    i dont even know where to start, i dont know how to convert my code ...
    As already stated a few times, the obvious "starting point" would be to study the Cairo-Tutorial for a few days.
    After that start converting a "smaller project of average-complexity" - and ask specific questions in their own thread...

    You will definitely end up with significantly reduced code and a nicer output.

    It's all your choice of course - but what seems still not entirely understood here is, that code which works
    against RC5-Classes *today*, will work without changes also in the new VB (and on other platforms).

    For GDI or GDI+ based code there is a quite high probability, that you will have to rewrite *again*
    (so in case you plan to start a new project based on those MS-APIs, you'd be wasting your own precious time in my opinion).

    Quote Originally Posted by baka View Post
    edit: after some "testing", and after i was forced to "convert" the example, here is what i figure out:
    Nobody "forced you" to "convert something" - it's your own choice - but glad that you *started* at least.

    As for what CC.Save and CC.Restore are for - these Methods are named the same as in the MS-GDI-API -
    and fullfill a similar function (saving/restoring "the state of the Context", which is e.g. important for "nested renderings with translate/rotate etc.").

    Here is an example (I've named the CairoSurface "DIB" and the CairoContext "DC", to make it more "GDI-like" for easier understanding):

    Consider the following "basic setup" in your Form:
    Code:
    Option Explicit
     
    Private DIB As cCairoSurface, DC As cCairoContext, i As Long
     
    Private Sub Form_Load()
      For i = 1 To 5
        Cairo.ImageList.AddIconFromResourceFile "IcoRes" & i, "shell32", 166 + i
      Next
      
      Set DIB = Cairo.CreateSurface(800, 600)
      Set DC = DIB.CreateContext
    End Sub
     
    Private Sub Form_Click()
      DC.SetSourceColor vbWhite: DC.Paint 'clear the background with white
        RenderAll
      Set Me.Picture = DIB.Picture 'Flip the Backbuffer-DIB onto the Form
    End Sub
    
    Private Sub RenderAll()
      '... render something here (e.g. a scene) with appropriate SubRoutines
    End Sub
    When you run the above (clicking the Form), all you will see is "only the white BackGround", since the 'RenderAll-routine is yet empty,
    so let's add e.g. a SubRoutine which draws something that resembles a drawn "ShellItem in large view" - or a "large ToolBarButton")
    Code:
    Private Sub RenderAll()
      RenderThumbNail "IcoRes1", "BtnText for IcoRes1"
    End Sub
    
    Private Sub RenderThumbNail(ImgResKey As String, Text As String)
      DC.RenderSurfaceContent ImgResKey, 25, 4 'draw the resource-icon
      DC.DrawText 0, 52, 90, 40, Text, False, vbCenter, 4 'the centered text
      DC.RoundedRect 0, 0, 90, 90, 3, True 'define a Rectangle-Path
        DC.SetSourceColor vbMagenta 'define a Color
      DC.Stroke 'stroke the outline of the Rectangle with the above set Color
    End Sub
    The above "ThumbNail-Button" output will look like that:


    Now you decide, to render "more of these things in a Toolbar-like row" -
    but you don't have any x,y Offset-Params in the routine above...

    Well, these Offset-Params are not needed (you can leave your previous routine like it is) -
    because we can use an "outside shifting" on the CC (or DC as I named it here) in a new Routine:

    Code:
    Private Sub RenderAll()
      RenderThumbNailRow
    End Sub
    
    Private Sub RenderThumbNailRow()
      DC.Save 'recommended for any Sub-Routine which internally uses Translate, Scale, Rotate
        For i = 1 To 5
          RenderThumbNail "IcoRes" & i, "BtnText for IcoRes" & i
          DC.TranslateDrawings 100, 0 'shift 100px to the right after each rendering of the SubGroup
        Next
      DC.Restore
    End Sub
    
    Private Sub RenderThumbNail(ImgResKey As String, Text As String) 'this Sub is still the same as before
      DC.RenderSurfaceContent ImgResKey, 25, 4 'draw the resource-icon
      DC.DrawText 0, 52, 90, 40, Text, False, vbCenter, 4 'the centered text
      DC.RoundedRect 0, 0, 90, 90, 3, True 'define a Rectangle-Path
        DC.SetSourceColor vbMagenta 'define a Color
      DC.Stroke 'stroke the outline of the Rectangle with the above set Color
    End Sub
    The above "ThumbNailRow"-output will now look like that:


    We can now go on, and add an additional "global" transform in the "root-routine" (RenderAll),
    e.g. for usage in a "vertical toolbar" - or (just for fun) putting it out like this:


    by adding a few transformations to the Context in RenderAll (without changing RenderThumbnailRow):
    Code:
    Private Sub RenderAll()
      DC.Save
        DC.TranslateDrawings 50, 15
        DC.RotateDrawingsDeg 35
        DC.ScaleDrawings 0.75, 0.75
        RenderThumbNailRow
      DC.Restore
    End Sub
    
    Private Sub RenderThumbNailRow() 'this Sub is still the same as before
      DC.Save 'recommended for any Sub-Routine which internally uses Translate, Scale, Rotate
        For i = 1 To 5
          RenderThumbNail "IcoRes" & i, "BtnText for IcoRes" & i
          DC.TranslateDrawings 100, 0 'shift 100px to the right after each rendering of the SubGroup
        Next
      DC.Restore
    End Sub
    
    Private Sub RenderThumbNail(ImgResKey As String, Text As String) 'this Sub is still the same as before
      DC.RenderSurfaceContent ImgResKey, 25, 4 'draw the resource-icon
      DC.DrawText 0, 52, 90, 40, Text, False, vbCenter, 4 'the centered text
      DC.RoundedRect 0, 0, 90, 90, 3, True 'define a Rectangle-Path
        DC.SetSourceColor vbMagenta 'define a Color
      DC.Stroke 'stroke the outline of the Rectangle with the above set Color
    End Sub
    That much for a simple example, what CC.Save and .Restore are good for -
    (although you could have just studied Folder #2) of the Cairo-Tutorial-Zip, where this was explained as well)...

    And as said - specific questions about Cairo-rendering are better placed with their own topic in a separate thread.

    Olaf

  4. #364
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by dilettante View Post
    Well then. congratulations on an outline of vaporware that would just reinvent FreeBasic.
    You seem to miss the point of the discussion dile - which is about "how to best approach a new visual VB-IDE and a new compiler.

    And you also seem to miss, that (other than the FreeBasic-guys), we already have a decent GUI-engine available in the RC5
    (already platform-independently implemented, by wrapping cairo in an easy and safe to use manner).

    Also:
    - FreeBasic is only to 70% or so VB-compatible (whilst the new compiler aims for full compatibility)
    - FreeBasic has no *.cls and no COM-support (which the new compiler will have)

    Quote Originally Posted by dilettante View Post
    If you want to do dark-world coding ...
    And again you miss the point - the whole discussion, as it has evolved here, is about - how to bring VB6 *out*
    (of "dark world coding" - with no future for the language as it currently is - and also no future for the MS-APIs everyone seems so fond of").

    You want to stay on that sinking ship?
    Then at least don't stand uselessly around (or in the way) of those who do work - and are in the end-phase of finishing the new one.

    Olaf
    Last edited by Schmidt; Feb 5th, 2018 at 06:38 PM.

  5. #365
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,412

    Re: Vb6 , the Future, and what I have discovered

    @baka - I think once you get used to the differences Cairo provides great results much more easily that GDI or GDI+. It's just a matter over getting over the hump of getting used to something new.

    I don't do a lot of graphics work, but a few years back I wanted to give Cairo/RC5 a try to see what it would be like to work with it. In a few hours over a couple of days I produced this:

    http://www.vbforums.com/showthread.p...-vbRichClient5

    Which I think looks pretty neat and performs pretty well for a first attempt. I wouldn't even want to try it with GDI (maybe GDI+).

    My suggestion is the same as Olaf's - start with the Cairo drawing demos at the RC5 website, and then try building something small with RC5/Cairo (as I did with my animated spinner demo). I think you'll find it's not as difficult as you think.

  6. #366
    The Idiot
    Join Date
    Dec 2014
    Posts
    2,721

    Re: Vb6 , the Future, and what I have discovered

    but how to replace gdialphablend?
    what i need is to copy a part of a picture, say a picture is 300,500 in size and i want to copy 50,50-120,120 and place it in the surface at 0,0
    now, another picture that is 400,700 and i copy 100,100-200,200 and render it to the surface at 20,20 (overlapping the other) and so on until im done with all the pictures and then render it to the DC, and repeat.

  7. #367
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,412

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by baka View Post
    but how to replace gdialphablend?
    what i need is to copy a part of a picture, say a picture is 300,500 in size and i want to copy 50,50-120,120 and place it in the surface at 0,0
    now, another picture that is 400,700 and i copy 100,100-200,200 and render it to the surface at 20,20 (overlapping the other) and so on until im done with all the pictures and then render it to the DC, and repeat.
    This is getting off topic, so maybe better to start a new thread. I haven't done anything like what you are requesting, but I'll give it a try hopefully today to see if I can make a demo for you (I'm assuming it should be possible, which I think it is).

  8. #368
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Vb6 , the Future, and what I have discovered

    "Dark world coding" is when you have to create user interfaces by brute coding to create, site, attach events, etc. for controls and you have little or no data binding support in your widget library. The "IDE" is reduced to little more than a text editor and a make script, and may as well work like QBasic or Edit in a black console window.

    Even JavaFx has a visual designer. Not as nice as VB's but better than most others.

  9. #369
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,375

    Re: Vb6 , the Future, and what I have discovered

    Dilettante refers as "dark-world" when no *.frm and *.ctl files are supported.

  10. #370
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,224

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Krool View Post
    Dilettante refers as "dark-world" when no *.frm and *.ctl files are supported.
    right. the "Visual" part of Visual Basic.
    although with a basic debugging IDE, the visual designer shouldn't be anywhere near as complex as the transpiler chain, and can be worked on by the community.

  11. #371
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,412

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by DEXWERX View Post
    right. the "Visual" part of Visual Basic.
    although with a basic debugging IDE, the visual designer shouldn't be anywhere near as complex as the transpiler chain, and can be worked on by the community.
    I agree - the system should be built from the the ground up with the IDE coming after the foundation is working and stable. The "dark-basic" term is not particularly clever and is an embarrassing shortcut to thinking.

  12. #372
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Vb6 , the Future, and what I have discovered

    Would you call XAML "dark world", dilettante? I'm not trying to bait you into a clever trap or anything, I'm legit curious.

    XAML has a designer, technically, but in general I find developers in that world tend to hand-write a lot of the markup unless they've got a full-time design employee to work the design tools.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  13. #373
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,224

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Sitten Spynne View Post
    Would you call XAML "dark world", dilettante? I'm not trying to bait you into a clever trap or anything, I'm legit curious.

    XAML has a designer, technically, but in general I find developers in that world tend to hand-write a lot of the markup unless they've got a full-time design employee to work the design tools.
    Considering XAML's whole existence is to mimic HTML/CSS web design, it's a perfect example of dil's "darkworld" as I understand it. I mean who writes markup just to place a button?

    but it's his term to define, not mine...

  14. #374
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by DEXWERX View Post
    I mean who writes markup just to place a button?
    I don't want to get too deep into the philosophy here but I think it's better when you have at least the option to do so.

    When you're writing pixel-perfect layouts that only need to think about DPI in a simple way, markup's goofy. This is the traditional domain of the VB6 designer and even the WinForms designer and I think a high 90s percent of applications will finish faster with this approach.

    When you're targeting a variety of devices with different aspect ratios and radically different DPI settings, markup's going to be more convenient. I've seen GUI designers try and define all the behaviors needed for fluid design, and frankly it's easier to go over a markup file than to click a dozen different controls to inspect the value of a handful of properties.

    But I don't think this is incompatible with where dilettante and you might be going: most developers in the context of this forum are going to try their best to lock down their install base to relatively consistent devices, which means the utility of fluid layout is diminished. The 90% case is a traditional designer, and the complexity of markup gets in the way of that.

    I'm in the 10% case so a language with no access to the markup behind its designer is useless to me. But I also represent a multinational corporation with millions of customers and tens of thousands of employees. Locking down my userbase isn't feasible.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  15. #375
    PowerPoster Arnoutdv's Avatar
    Join Date
    Oct 2013
    Posts
    5,872

    Re: Vb6 , the Future, and what I have discovered

    I do design my forms, but at least 90% has additional code in the Resize event to put all controls in the desired location.
    The external RibbonBar control I use doesn't come with a designer at all, the complete setup is done in code (or loaded from an XML file).
    So a UI designer is great for quick projects, but not a show stopper if it's not available.

  16. #376
    PowerPoster
    Join Date
    Feb 2017
    Posts
    4,997

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Arnoutdv View Post
    I do design my forms, but at least 90% has additional code in the Resize event to put all controls in the desired location.
    The external RibbonBar control I use doesn't come with a designer at all, the complete setup is done in code (or loaded from an XML file).
    So a UI designer is great for quick projects, but not a show stopper if it's not available.
    I think that one thing is to have some code in the Resize event to prepare your form for the possible different sizes that it can take (when it is sizable), and another very different thing is to have to set up everything by code.

    When the forms are not sizable, VB6 pretty much take care of everything if you work in Twips.

  17. #377
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,224

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Sitten Spynne View Post
    I'm in the 10% case so a language with no access to the markup behind its designer is useless to me. But I also represent a multinational corporation with millions of customers and tens of thousands of employees. Locking down my userbase isn't feasible.
    Considering I write web apps and use other languages, more than half of my dev time is actually in dark world.
    If I need a web style responsive framework - I typically use a web app, or skip over XAML completely and use an embedded browser based UI.

    How does XAML compare with something like Bootstrap?

  18. #378
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Sitten Spynne View Post
    I'm in the 10% case so a language with no access to the markup behind its designer is useless to me. But I also represent a multinational corporation with millions of customers and tens of thousands of employees. Locking down my userbase isn't feasible.
    One thing I'm curious about is whether your corporation has commercial software developed with VB6 and still sells them on the market?

  19. #379
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by DEXWERX View Post
    How does XAML compare with something like Bootstrap?
    I'm struggling to answer this because there are a few contexts for the comparison. What exactly do you mean?

    Quote Originally Posted by dreammanor View Post
    One thing I'm curious about is whether your corporation has commercial software developed with VB6 and still sells them on the market?
    I think this question is irrelevant and it's hard for me to answer considering the size of my parent corporation. Probably somewhere. But not a lot. Our primary sales are phones, and phones don't run VB6 these days. Keep in mind my reason for that paragraph is to point out I probably undervalue pixel-perfect designers because in 2 jobs across 10 years I've mostly been in cases where I'm trying to support people it can't.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  20. #380
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Vb6 , the Future, and what I have discovered

    Copyleft

    Developers who use GPL code in their product must make the source code available to anyone when they share or sell the object code. In this case, the source code must also contain any changes the developers may have made. If GPL code is used but not shared or sold, the code is not required to be made available and any changes may remain private. This permits developers and organizations to use and modify GPL code for private purposes (that is, when the code or the project is not sold or otherwise shared) without being required to make their changes available to the public.

  21. #381
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Vb6 , the Future, and what I have discovered

    I'm afraid I don't understand your point. Surely you don't mean to imply the GPL is the only open-source license?
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  22. #382
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Vb6 , the Future, and what I have discovered

    My point is that in most cases you can't used GLPed software without opening your source.

  23. #383
    Smooth Moperator techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,532

    Re: Vb6 , the Future, and what I have discovered

    Actually, I find it ambiguous... it doesn't state what code has to be available... the GPL'd code, or all of it... so if I take something that was released under GPL, create a library using it, then create an app that uses that library, I know at the least I'm obligated to release the source of the library, but what about the application itself? It's not clear what should be open source. I think this is where some of the contention has come in in the past. Some say that once contaminated or even touched by GPL code, then it's GPL by association, even if that GPL code has been physically segregated. If it was fully integrated, that's one thing, but it's not always so clear.

    -tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

  24. #384
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Vb6 , the Future, and what I have discovered

    I'm struggling to see why it's brought up, you're the first person on the page to mention GPL? What'd I miss?
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  25. #385
    Hyperactive Member
    Join Date
    Jul 2013
    Posts
    400

    Re: Vb6 , the Future, and what I have discovered

    Well, just to despite any kind of useless considerations about licenses used by RC5, here is part of _Library-Licenses.txt that is distributed with it:

    Code:
    -------- please place at least the following license-info in a file --------
    -------- (license.txt)  beside the RC5-libs in your own deployments --------
    The sqlite3-engine vb_cairo_sqlite contains, is public domain 
    due to the generous D.R. Hipp (www.sqlite.org)- but the DB-
    functionality also contains some differently licensed sub-parts 
    as are:
       
       - FastLZ (compression-algos, included as Source-Modules)
         http://www.fastlz.org/
    	 MIT-license
    	 
       - LZ4 (compression-algos, included as Source-Modules)
         http://cyan4973.github.io/lz4/
    	 BSD-license
    	  
       - ZLib (higher compression, well-balanced compr./decomp. Speed)
         http://www.gzip.org/zlib/zlib_license.html
    	 ZLib-license (very liberal too)
    	 
       - LZMA (highest compression, decomp. fast, compr. slow)
         http://www.7-zip.org/sdk.html
    	 Public Domain license
    	 
    All of the different compression-algos are available over
    cCrypt of the vbRichClient5.dll - and come internally into 
    play for example, when transferring serialized SQLite-Recordsets
    over TCP/IP (using the RPC-Server-Classes of vbRichClient5).
    
    
    Ok, and here the "more cairo-related" Sub-Libs and their licenses:
    
       The "main-parts" come of course from the cairo-project,
       which is licensed under LGPL/MPL: (http://cairographics.org/)
    
       - libpixman (fast, optimized pixel-surface-routines)
    	 BSD-like license, e.g. mentioned here: 
    	 http://wiki.mozilla.org/License_Policy
    
       - libPng 
         http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
    	 PNG-license
    	 
       - ZLib (again, but used here mainly by libPng in CDecl-fashion)
    	 http://www.gzip.org/zlib/zlib_license.html
    	 ZLib-license
    	 
       - chipmunk (2D-physics engine)
         http://howlingmoonsoftware.com/chipmunk.php
    	 MIT-license
       
       - libjpeg-turbo (superfast JPG De- and Encoding)
         http://www.wxwidgets.org/about/licence3.txt
    	 wxWindows-license (resembling and in many parts identical to LGPL)
       
       - libqrencode (the "quasi-standard" by Kentaro Fukuchi)
         http://fukuchi.org/works/qrencode/
    	 LGPL 2.1 license (https://www.gnu.org/licenses/lgpl-2.1.html)
    	 
       - quirc-library (small and efficient QR-Decoding by Daniel Beer)
         https://github.com/dlbeer/quirc
    	 It's a "personalized license" which comes below:
    	 Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com>
    		Permission to use, copy, modify, and/or distribute this software for
    		any purpose with or without fee is hereby granted, provided that the
    		above copyright notice and this permission notice appear in all
    		copies.
    
    		THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
    		WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
    		WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
    		AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
    		DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
    		PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
    		TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    		PERFORMANCE OF THIS SOFTWARE.
    		
       - BigInt-support from http://gmplib.org, using mini-gmp.c and mini-gmp.h 
         gmplib is licensed under LGPL v3  
    	 
    ------------- end of the minimum license-info-section -----------------
    Carlos

  26. #386
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,853

    Re: Vb6 , the Future, and what I have discovered

    WOW, really? Actually, that doesn't surprise me. But, hey Olaf, that does seem like it provides you with an obligation to make your source code available. As a quote from the GPLv3 preamble, "that you receive source code or can get it if you want it". And, it's not so quot-ably stated, but that also applies to any work in which GPLv3 protected procedures are incorporated in any substantial way. I didn't re-read the BSD and GPLv2, but I suspect they have similar language.

    Just saying.

    Best Regards,
    Elroy
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  27. #387
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Vb6 , the Future, and what I have discovered

    Yes, lots of developers really don't like the GPL in any of its forms.

    To answer techgnome: GPL is intended to be transitively viral. So if you use a GPL library to make a library, that means your library has to be GPL. And if an app uses your library, that app has to be GPL. There's no working around it... sort of.

    Tivo found a way around GPL v2. They published the source to their software, but the actual Tivo devices required the software to be digitally signed to run it. Since that build toolchain was not part of "the software", Tivo didn't have to publish the tools to sign the software. Therefore, you could obtain the source to their firmware, but you couldn't build something that could be installed on the device. This is why GPL v3 exists, it requires you publish the source code and everything required to produce an executable that can run on the intended platform.

    Anyway, that license list mostly lists the weaker copyleft licenses, LGPL is probably the most severe on the list. I don't care to go looking up the specific details, but it covers mostly the case you talked about: "I'd like to use some LGPL code but can't publish my own source code." It basically says "you can't copy-paste anything LGPL into your code, but if you make it into a library (and publish that library) then the things that call the library need not be LGPLed."

    Still, weird topic shift.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  28. #388
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,412

    Re: Vb6 , the Future, and what I have discovered

    It is totally off-topic, but if we're talking about vbRichClient5 the 2 "outside" libraries it uses are public domain (SQLite) or dual LGPL/MPL (Cairo) licensed, not GPLv*. Maybe Dilettante is talking about something other than vbRichClient5 though? Wrong thread?

  29. #389
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,853

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Sitten Spynne View Post
    To answer techgnome: GPL is intended to be transitively viral. So if you use a GPL library to make a library, that means your library has to be GPL. And if an app uses your library, that app has to be GPL. There's no working around it... sort of.
    Yeah, that's my reading of it as well. The Free Software Foundation does have other licenses that can be attached to "library type" procedures that are specifically for that situation (where the library and all modifications to that "piece" would need to stay open-source, but other areas of the application could stay closed-source). For VB6, I'd tend to read that as some ActiveX component or possibly just a DLL library that was well isolated from the primary project. But the GPLv3 doesn't even seem to allow for that option.
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  30. #390
    Hyperactive Member
    Join Date
    Jul 2013
    Posts
    400

    Re: Vb6 , the Future, and what I have discovered

    All I can find in Olaf's license text is:

    - MIT
    - BSD
    - ZLib
    - Public Domain
    - wxWindows (identical to LGPL)
    - LGPL 2.1
    - LGPL v3

    So, why are you talking about GPL?

    Wrong thread?
    Wrong dilettante, I would say
    Carlos

  31. #391
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Sitten Spynne View Post
    Still, weird topic shift.
    We already had several threads, where OpenSource-licenses were explained (Dile and Elroy being partipicants),
    and where also was clearly stated, that the RC5 does not use or "touch" any GPL-licensed code.

    So they both already knew about that fact before posting here and "Hanlon's razor" cannot serve as an excuse IMO:
    https://en.wikipedia.org/wiki/Hanlon%27s_razor

    What drives or motivates people to take up this typical "I'm against it"-stance (without any logical reason behind it) -
    remains a mystery to me.

    Olaf
    Last edited by Shaggy Hiker; Feb 8th, 2018 at 01:08 PM. Reason: Trying to dampen the flames.

  32. #392
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,224

    Re: Vb6 , the Future, and what I have discovered

    So does rc5 use LGPL code?

  33. #393
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,853

    Re: Vb6 , the Future, and what I have discovered

    The "main-parts" come of course from the cairo-project,
    which is licensed under LGPL/MPL: (http://cairographics.org/)

    ...

    - libqrencode (the "quasi-standard" by Kentaro Fukuchi)
    http://fukuchi.org/works/qrencode/
    LGPL 2.1 license (https://www.gnu.org/licenses/lgpl-2.1.html)

    ...

    - BigInt-support from http://gmplib.org, using mini-gmp.c and mini-gmp.h
    gmplib is licensed under LGPL v3
    Just quoting from post #385.
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  34. #394
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,224

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Elroy View Post
    Just quoting from post #385.
    Thanks I was just wondering because I didn't see any source available to rebuild/relink the LGPL parts.

  35. #395
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: Vb6 , the Future, and what I have discovered

    "Open Sores" may have a very ancient history, or it may come from a cartoon in the 90s (which is NOT ancient history to many of us). However, we got to a pretty polite conversation. Please keep it that way. Just remember: If anybody builds an edifice, there will always be somebody willing to pull it down. People tend to shift from one roll to another, back and forth, through their lives depending on their perspective. It is what it is.
    My usual boring signature: Nothing

  36. #396
    PowerPoster SamOscarBrown's Avatar
    Join Date
    Aug 2012
    Location
    NC, USA
    Posts
    9,145

    Re: Vb6 , the Future, and what I have discovered

    Last edited by Shaggy Hiker; Today at 01:08 PM. Reason: Trying to dampen the flames.
    It won't! :-)

  37. #397
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by DEXWERX View Post
    Thanks I was just wondering because I didn't see any source available to rebuild/relink the LGPL parts.
    As it is currently, I'm not required, to inlcude these sources in my "binary redistributable" (the RC5-BaseDll-Zip), Dex.

    For binary redistributables, all that is required by the LGPL (and most of the other OS-licenses, which are part of vb_cairo_sqlite.dll) is:
    - to "give info, that the solution is using OpenSource-code" (and either include the license-texts, or to give a Link to the Project-site or -license).
    And I do that already in the "_Library-Licenses.txt"-file which comes with the Zip.

    Here again as a reminder what these RC5-BaseLibs-redist-package currently contains (binary-wise):
    - DirectCOM.dll (a tiny Helper to start COM-Objects regfree, optionally on their own ApartmentThreads - no OpenSource-libs used here)
    - vbRichClient5.dll (a VB6-based Class-framework, which contains only my own VB6-code + a few BugFix-snippets others have provided over the years)
    - vb_cairo_sqlite.dll (that's the VisualC-compiled Binary, which aggregates the OS-libs into a single binary, but otherwise did not change any of the OS-libs codewise)

    The vbRichClient5.dll only links dynamically (not statically, and not using any *.h files) against vb_cairo_sqlite.dll.
    And thus I'm not required to open it ... (when I do, as I fully intend to, then probably under LGPL as well ... but not *now*).

    As for the vb_cairo_sqlite.dll (which is a plain "merger" of otherwise unchanged OpenSource-libs), the section 6 of the LGPL applies.

    And yes, I'd have to provide you with the C-Source-Code of the "merger-VC-project" (the one that's producing vb_cairo_sqlite.dll) -
    in case I didn't offer a download-zip for these "merger-sources" already at the same place you download the binaries.

    For obvious "plain mergers" the current practice among developer is, to do that only "on request" -
    (because it is often faster and easier for everybody, to "download the recent sources of the "merged OS-libs in question" directly from their Repos -
    along with the current and appropriate "build-scripts" and "build-instructions" which match ones own privately used "current C-Compiler-toolchain").

    E.g. if you don't have my version of MSys with my configuration and my Path-settings (to compile a few sub-parts beforehand with MingW) -
    and in addition don't have the exact version of my (quite old) MS-VC-compiler and the exact version of my referenced Win32-SDK,
    then you will have a very hard time to compile that "merger-project" (vb_cairo_sqlite.dll) successfully.

    Do you really want to go there?

    If yes, I'd have to decide whether it is worth the efforts on my end, to:
    - provide you with the sources for the vb_cairo_sqlite.dll project (perhaps followed by a week of ongoing Email-traffic, until you are able to compile the thing on your machine)

    Or if it is faster for me, to just remove the two LGPL parts for:
    - the qrencoding (which is currently only wrapped by classes in vbWidgets) - and compile it into a separate companion-Dll
    - and the "bigint"-gmplib-sources (which are addressed by a half-finished Class-Wrapper, which is currently not incuded in neither vbWidgets nor the RC5).

    Olaf
    Last edited by Schmidt; Feb 8th, 2018 at 06:01 PM.

  38. #398
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,853

    Re: Vb6 , the Future, and what I have discovered

    Olaf,

    As far as I've ever seen, there's absolutely no requirement on any open-source license that you provide information on how to compile things. I suppose it'd be a nicety in the comments if you noted what compilers, assemblers, linkers, etcetera you used, but even that isn't a requirement.

    And, regarding emails, it's entirely up to you as to whether you respond to them and/or whether you provide support for free, ask to be paid for it, or just not offer it at all. Many open-source projects require payment for any/all support.

    You've suggested more, but to claim that people couldn't compile and that there'd be too much support is nothing but a smokescreen for not providing open-source.

    All The Best,
    Elroy
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  39. #399
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Vb6 , the Future, and what I have discovered

    Quote Originally Posted by Elroy View Post
    ...to claim that people couldn't compile and that there'd be too much support is nothing but a smokescreen for not providing open-source.
    You again understood only "half of it" Elroy.
    Because the sources which are compiled into vb_cairo_sqlite.dll (which is the one and only binary, Dex was addressing with his comment),
    are already "in the open" (in the public Source-Repos of the "merged OpenSource-projects" in question).

    So, again my questions (to you and Dex):
    1) Do you want me to provide a copy of the sources of that merger-project as it currently compiles only on my machine?
    2) Or would you say, that you will be faster with your own variant of vb_cairo_sqlite.dll, by pulling "fresh, more recent" and better matching sources from the Repos which are already open to the public?

    If you say 1), then I'd be entirely willing to make that experiment:
    - I'd invest some time to post my current merger-sources for vb_cairo_sqlite.dll on vbRichClient.com
    - when you in turn appreciate my invested time, by proving that you are not interested in "just complaining in the usual manner" -
    ...but indeed used these sources to recompile the whole blob of code for the sake of the community.

    I'd especially appreciate it Elroy (or Dex), when one of you could be the person, who's doing the maintenance of that "merger-lib" from now on...
    (e.g. recompiling things, when e.g. a new version of SQLite or libJPG-turbo comes out).

    Would you do that for the sake of the community - or will this task remain with me
    (who's currently having his hands full, working on many more things on your behalf already)?

    Olaf

  40. #400
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,853

    Re: Vb6 , the Future, and what I have discovered

    Fair enough, Olaf. I just know I wouldn't consider using RC5 unless/until it is open-source. Also, my graphics (image manipulation) needs are rather minimal. There's one place where I must scale-and-rotate an image to fit on a template...

    Name:  r&s.jpg
Views: 734
Size:  19.6 KB

    ...but that code is old and very well exercised. I did recently have to adapt it to a new sized image (for which LaVolpe helped me to realize that BMP lines are multiples of 4 bytes), but I'm not a heavy image manipulation guy.

    Also, regrettably, my hands are also quite full. And I will admit that I've learned some things from you about VB6.

    It'll be interesting to see where your project ultimately goes. Again, for me, I'd be totally happy if someone released an open-source IDE that would compile my existing code with absolutely minimal re-coding for execution on Windows.

    Best Regards,
    Elroy

    p.s. Maybe if I say I'm done with this thread, I'll actually be done. Therefore, see you guys in other threads. I'm DONE with this one.
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

Page 10 of 18 FirstFirst ... 78910111213 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width