It's unreasonable to ask you to both write/debug/update the libs and document it at the same time,
Sure - first time I've read something (regarding RC+documentation), which was not formulated as a complaint in my direction.
Originally Posted by Niya
...but I believe it should be documented nonetheless.
I don't disagree at all - but mentioning that (without taking some action personally),
is still much too close to the "endless stream of complaints" I've already mentioned.
<shrug>
Tech-oriented communities only evolve, when people *do* something - and not just "talk about it".
It's when "exciting new stuff is happening, when things are evolving", what makes communities thrive.
Olaf can be abrasive but that's just how he is. He strikes me as a military guy or perhaps he grew up around rough, matter-of-fact, no nonsense kind of people like Mafia types or whatever.
I don't think so, but I've said my piece and I won't read nor contribute further. I have a picture of a dementor somewhere.
For me, I now see the future is going to be writing platform-specific code. I think it is the easiest method rather than working with an undocumented set of tools that may or may not have a future. Please prove me wrong but not on this thread as I am bowing out.
PS. And a Merry Christmas to you too!
Last edited by yereverluvinuncleber; Dec 23rd, 2021 at 02:09 PM.
Reason: Merry Christmas everyone!
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
...you as a person suck the life of anyone who tries to engage with you.
If you feel that desperate after a little exchange of opinions in a public forum,
then you might want to think about whether your "current way of engagement" might be the reason.
You so far do not hesitate, describing my persona (whenever you feel like it) - subjectively enough,
"the way you see it" ... (heck, even in your signature I find this stuff which borders on "stalking").
That's aparrently the way you try to convey all that "positivity and happiness" you like to mention,
but it doesn't seem to work "as intended", wouldn't you say?
Olaf
Last edited by Schmidt; Dec 23rd, 2021 at 02:27 PM.
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
Tech-oriented communities only evolve, when people *do* something - and not just "talk about it".
It's when "exciting new stuff is happening, when things are evolving", what makes communities thrive.
Like I said, I think it just needs someone to take that first step. It doesn't even have to be you. It could be anybody from the VB6 community.
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
I seem to have found myself with a £50 that is unexpectedly mine to spend on whatever I want. I offered some to Shaggy in the form of beer and chips but some of that will go down well down my own throat.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
Comment: This Method returns the content of the file, given by the Filename-Parameter.
Well, there you have it - it's easy enough to do even when you're a VB6-Beginner -
and as said, most methods are as self-explaining as the above one ...
(just leave out those you cannot decipher and move to the next one - there's enough of them like that)
One might argue, that everything I've just typed is ovservable by anybody also in the VB6-Objectexplorer -
but you're the one thinking, that writing this up again is extremely useful - so, please "have at it".
Olaf
OK, I would like to offer a tool that would ease that:
It generates automatically all that information, but the last comment.
The best way to do those comments, if they are short enough, would be to add them in the component source, so they get stored in the typelib descriptions.
After that, when the component is compiled the documenter will gather that information automatically.
But I'm thinking that we could do the opposite path: add all the information in the documenter, and when it is finished, I can write an utility to put all that information in the component VB6 source files automatically.
I tested it with RC6, it generated 2606 files. Compressed into a zip it is 1.7 MB, so I'm not sure I can upload it to the forum.
But it is very simple to do: download ComponentDocumenter from GitHub, go to the release folder and run CompDoc.exe
Or if you prefer, open open ComponentDocumenter.vbp in the IDE and run it in source code.
Then, go to the menu "Component, New Component database.
Type RC6.
Then, menu Data, Import data from OCX/Dll file, and select the location of RC6.dll.
Go to Windows Explorer and create a folder where you want to have the report files.
Go back to the documenter, and from menu Report, HTML, go and select that folder.
It will generate automatically all the basic information that will be ready to be uploaded to a web site.
Then, the one making the documentation can write a description for each object, method, property, event, etc.
For beginners, examples are more important, but for advanced users, full documentation and reference is.
And these "advanced users" are the ones that will explain to the beginners how to do this or that.
And there is a third category also important: books. That now they can be replaced by online tutorials. Some prefer videos, I prefer to read.
I don't think that VB6 could have been adopted so massively without having many books that taught people about it.
Sure - first time I've read something (regarding RC+documentation), which was not formulated as a complaint in my direction.
I think you take everything personal. If someone says "it lacks of documentation" you understand it like "Olaf did not make any documentation".
Don't get offended for everything.
Because you get something personal, get offended, in response then you attack to the other person, the other person gets offended, and now all becomes actually personal.
It generates automatically all that information, but the last comment.
The best way to do those comments, if they are short enough, would be to add them in the component source, so they get stored in the typelib descriptions.
It will generate automatically all the basic information that will be ready to be uploaded to a web site.
Then, the one making the documentation can write a description for each object, method, property, event, etc.
Wow. This looks quite impressive. I was actually thinking about something like this. I didn't realize someone had already done it.
Originally Posted by Eduardo-
but for advanced users, full documentation and reference is.
Yes. This exactly!
Sometimes we need to go beyond being able to just use something.
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
In the last few postings you both have agreed on, that "having enough examples and tutorials",
is entirely sufficient for someone, who starts out having no experience with a given new library.
(documentation only coming into play, when "advanced usage of the lib is required" -
... in more complex scenarios, which might come up a few month, or a year later).
If that is true, then the following statement is wrong:
"The missing documentation is, what prevents broader adoption of the lib in the community".
Adoption: "getting oneself familiar with a new thing, with the intent to keep it".
Also note, that I'm reading statements like that only from people who have never used the lib,
(and I count you two - as well as uncleber - among them).
It's a pointless statement to make in a public forum (especially when you never used it so far) -
unless your goal is, to "scare off potential newcomers to the lib".
Anyways, thanks for pointing out your Docu-tool -
I might just use its output, to define the base of a Wiki on vbRichClient.com.
In the last few postings you both have agreed on, that "having enough examples and tutorials",
is entirely sufficient for someone, who starts out having no experience with a given new library.
(documentation only coming into play, when "advanced usage of the lib is required" -
... in more complex scenarios, which might come up a few month, or a year later).
If that is true, then the following statement is wrong:
"The missing documentation is, what prevents broader adoption of the lib in the community".
Adoption: "getting oneself familiar with a new thing, with the intent to keep it".
Also note, that I'm reading statements like that only from people who have never used the lib,
(and I count you two - as well as uncleber - among them).
It's a pointless statement to make in a public forum (especially when you never used it so far) -
unless your goal is, to "scare off potential newcomers to the lib".
Anyways, thanks for pointing out your Docu-tool -
I might just use its output, to define the base of a Wiki on vbRichClient.com.
Olaf
No, you misunderstood.
When I said beginners, I didn't mean new to your library, but beginner in programming.
People like many here want to have documentation to even consider starting using a library.
When I said beginners, I didn't mean new to your library, but beginner in programming.
And that easy, we are back at square one... <sigh>
I completely disagree with the above, because any new lib, will expand on "the language-terms" you know so far.
It's like you, having perhaps "great skills in using spanish" - until you enter e.g. "medical school"
(where you get introduced to a whole new set of words and meanings, you've never used - and have to learn)
And as said - in my opinion you will have a far easier time, when you learn these "new words" (new methods) in context: and such "context" is, what the RC5/6 tutorials and code-examples will provide.
Perhaps you should also engage in the "task" I've layed out to Niya in #75,
to get a reality check, whether what you just said, is the way people indeed approach a new lib.
I'm not saying that these "advanced programmers" will start studying a component with the reference documentation, but that the lack of it causes distrust, not helping in the adoption.
I sometimes find myself on msdn, for example, reading a list of messages of... let's say rich edit, to see which one is the one that I could use for something that I'm trying to do.
I'm not saying that if you add documentation to your component, there will be a mass adoption, or that I'll start using it.
I said it is important (in general), one more factor.
I'm not saying that these "advanced programmers" will start studying a component with the reference documentation, but that the lack of it causes distrust, not helping in the adoption.
So far so good - but always when "potential adoption of the RC-lib" becomes a topic,
I always see "the usual suspects" (forum-members, who never used the lib), who do *not* mention
(in addition, when they bring up the "missing documentation"), that:
- there's a broad example-coverage in this forum right here
- that the author frequents this forum
- that there's quite large tutorials available to get someone started with Cairo, Cairo-Widgets and SQLite
That would be the *decent* thing to do.
What we have instead is, that "a skewed picture" is painted (quite deliberately, I might add),
which then forces me "into these threads", to "provide this additional info" to potential "adopters".
But let's see, whether this discussion here will change someones mind in this regard, or not.
I think the one that is going to write the documentation should be someone that have been already using RC.
Not Cleber or someone that has no idea.
One could figure some obvious things, but the person needs to be familiar with how it works to be able to explain it.
For example:
"This method creates a new Cairo surface, receiving the Width and Height as input parameters. The Width and Height are in Device-Independent-Units."
The author of the documentation should not invent or be based on pure guesses. He needs to know how that works, exactly.
And of course, anyway, he will need to ask you lot of things.
Eduardo, you are fighting a losing battle and there is no point, you cannot win. Olaf does not want to hear and will only respond negatively. He doesn't understand our suggestions to be anything other than criticism of him personally. Olaf is clever, he understands the position exactly, he knows that the lack of documentation is a personal failing of his, he hates admitting he has a failing whilst it is clear to everyone else that the single main shortcoming of RC5/6 is the lack of documentation.
I can see Olaf's point of view that he wants others in the community to help him in return - and so we should... however, I have never offered help to such an abrasive and difficult-to-work with man such as Olaf and in the future I do not intend to try. My heart says "run away" and have nothing more to do with it.
The old adage, once bitten twice shy - and I have been bitten more than once.
Olaf, I am glad you were able to make your points clearly on this thread of mine (wall of text) that you clearly enjoyed so much. I genuinely wish you luck with RC5/6 but in truth I don't think it has a future with you at the helm being so abrasive, divisive and negative regardless of your technical capability. To make it successful, it needs to be open sourced and let others drive it. I imagine, working for you or even with you would not be a pleasant experience.
Regardless, this is Christmas Eve and I now have to undo some of my criticism. Your ability is second to none, your code is amazing and the only problem is a bit of a lack of documentation and a grumpy, argumentative soul - with a bit of kindness and gentle cajoling you should be able to resolve the documentation without winding everyone up. It is all ultimately down to you and whether you really want to do it.
So, I wish you a Merry Christmas and I will raise a glass to you this Christmas Eve and I will imagine you as my own personal Scrooge this year. I think the cap fits and you are wearing it. Merry Christmas to you Olaf! Merry Christmas one and all!
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
I imagine, working for you or even with you would not be a pleasant experience.
I see you're still "psycho-analyzing" away in your patented, ham-handed textwall-style -
"spreading the happiness" as you go, by getting personal like there's no tomorrow...
I will start using the "Lib" when Im ready. Im not there yet.
for me it will be important to be able to "get started",
meaning:
- install
- create a Widget
- load pictures and music
- render
similar to what I did when I started using Direct2D.
so hopefully when that day arrives, and Im stuck I can seek help and I will receive.
and so far Olaf has always helped.
after that, it will be a bit easier to continue, with some basics, and the understanding of "how it works", it will be more intuitive.
right now theres none of that since I have not started of course.
so, a person that help you, give out sources, and good ones, he can not be that bad of a person.
even if he has his bad sides, like we all do, its not right to judge him like that.
I already explained my position, I will not use RC6 in VB6, but I will use it in TB.
and when I start my project with TB+RC6 I will learn the parts "that I need", and those parts I can help others with.
The first manual for a programming language, I found in early '80s, for a Texas Instruments TI99/4A, the TI Basic. One page for each statement with a small program. You just type the program and you understand.
I have use the RC5, through my M2000 interpreter (using late binding with events), but I found a problem when I move a window (from RC5) my threads in M2000 language stopped, until the window stopped moved. The M2000 windows never stop the threads. So there are technical issues that no library can tell, and you have to experiment to find it. And because the code is closed, I can't fix it. I have to call Olaf to explain what I want and if he has the time to fix it for me. But this isn't something I want to do. I want to study the code and change it.
So what is RC-X...any number here ? Is a component, overloaded with many things, and these are given AS IS. If works for you keep it. No manual can you tell about how something works, but only how to call methods, and you can think that the return values or actions maybe what it says it be. For me, for using windows created by RC-X didn't work. So I reject all packet for a part of it. Maybe if the component was two or more libraries, I can use one or more of them. If I want a tree why I have to get the forest??
I found a problem when I move a window (from RC5) my threads in M2000 language stopped, until the window stopped moved.
That's not a problem of the RC-lib, but "normal behaviour", caused by the Windows-system-dlls,
as soon as you click on a normal Windows Titlebar, and then "hold the MouseKey-down" (e.g. when you drag).
Simple solution:
- create a Window without the Win32-Standard-Titlebar (the RC supports this, as does "normal VB6")
- and instead "render your own Caption-area" (the RC supports this, as does "normal VB6")
- and on this area, implement your own mousebased-window-dragging by hand
I guess it is exactly that approach (avoiding the System-provided Titlebar),
which you're using in your "M2000-Forms" (judging from your videos and screenshots).
Why are you "attacking" Olaf? His framework is very useful. I sometime use it and never had problems with understanding how it works. As i can see Olaf always helps if someone has question related to RC.
@the trick
I respect Olaf. The dynamic responses from Olaf (which are ok for me) maybe seem that is in the center of a type of a game. I am too old for games.
@Olaf
Speaking about RC-N windows. I would like to see windows which are not identical with "VB6" windows, even they are based on a bare VB6 form. This means that new windows have new capabilities, new events, new properties. I think there is an example of user control in these windows.
So when I move RC-window (and the 5-6 opened as modal above), I have problem only on the close button, which stopped the threads when we press the button down. So can you change this button with a normal button **by default**.
I use this statements in M2000 and not the EnterMessageLoop method.
Task.Main 100 { if Form1.hWnd else exit
}
Using the EnterMessageLoop method, when I close the windows, the Mesaggeloop never terminate.
And another wish (its Christmas anyway). I would like the windows to prefer to open in the monitor where the mouse point. Because now I move the base window (a yellow colored) to the second monitor and click on it to open 5-6 modal windows, one above the other, and that windows opened in the first monitor....because they didn't follow the mouse pointer...
Last edited by georgekar; Dec 24th, 2021 at 04:25 PM.
Ideal would be the "One-Page-Per-Method" strategy,
but then not creating "a full fledged HTML-page as a file"...
Just the cut-out body-content (without the body-tags and no Css) would be enough,
and that content should (ideally) sit in a DB-Field of the "Methods-table" (alongside MethodName, etc...)
Not sure, whether your current DB-schema makes such an output easy or not.
I could of course also do my own loop over the generated FileOutput,
cutting everything out from the html-files and storing all that in an SQLite-DB.
Providing a clean programming model that can be used independently of the OS seems the sensible way, keeping the existing VB6 methods around for compatibility. Similar to how VB.Net supports the legacy syntax and also the dotnet way of doing things.
I have this same view, and I suggested it to twinbasic in their open github suggestions