The Lazarus and Freepascal forum, which acted for a while as the welcome page for the Lazarus project, is a common place to ask questions and the best place for discussions. It's a more user friendly way of communication and might be preferred by beginning users than the mailing lists.
Its web address is: https://forum.lazarus.freepascal.org
While the forum is usually a rather friendly place, you'll have a better experience if you follow the following guidelines, incomplete as they are.
When asking for help it is particularly important to format your code so it is clearly shown as code. Most programmers are used to see code formated "as code" and resent (even if mildly) having to deal with it badly- or un-formated, which may naturally reflect both in their willingness to answer your question and the tone of their answers.
The forum treats any code you paste (whether a big or small chunk) as normal text. Default text formatting will be proportionally spaced (not fixed-width) and indentation and alignment of successive lines will be unreliable, making the code hard to read.
Also, parts of your pasted code might be considered as mark up by the forum engine, causing an undesirable look.
A code snippet such as this:
...ends up looking like this:
As a result, instead of actually getting help, you might only get "use code tags!" responses. Using code tags is easy. All you need to do is add
at the start of your code and add
at the end of your code.
A shortcut for this is to click the # (code) button when writing your thread text:
If you have already made a post without remembering to insert [code=pascal] and [/code] tags, you can "MODIFY" your post and add them later. Just like this:
Once the changes are made and you hit "Save", you should see a nice Code section appearing in your post. The code section shows your code using a fixed-width font. This is placed within a smaller box with a "Select" button that allows you to select just that code section quickly. Your code will not then be misinterpreted as forum markup. It will as will be displayed as the code it is.
Most importantly, taking the trouble to use code tags is one way to support on-line politeness.
Note that the code tag supports more than just Pascal, in case you need to add snippets in other languages (C, C++, Java, Assembler, etc).
You can find a list of supported languages in this page at MediaWiki. You'll have to scroll down a little and expand the list of "Previously supported lexers" (with GeSHi), which is what the forum software supports.
Sharing large pieces of code
While short snippets of code can be inserted on your post as explained above (by using the [code] tag), sometimes you'll need to share more of your code, up to a complete example project, if you want to get meaningful help.
As is easy to see, dumping all this code into a single post is a bad idea. What you should do instead is zip it and add it to your post as an attachment.
What to zip
Don't simply zip all the files in your project's directory: If you do that you'll add lots of files, some of them very large, which add nothing to the comprehension of your code.
The rule of thumb is: add the source files and, if any, imprescindible data files.
"Source" files for a normal project are: *.LPI, *.LPR, *.LFM, *.PAS (or *.PP) and *.INC; i.e. what we can term "real" source, the project info file and the forms. A simple way to prepare these files is to use "Publish project", in the "Project" menu of Lazarus.
Add data files only if they are imprescindible either for the question asked at the forum or to be able to run your program at all. Most times these files will be database files, test documents in some specific format, configuration files of some kind or icons/graphics loaded at run-time by your program. Try to make them as small as possible consistent with the use for which they are intended.
Don't try to add a multimegabyte database! You will run afoul of the forum limits on attachments. If a big file is really needed, use a "locker" service like Google Drive or similar.
The Forum is a good place to get help with Object Pascal and Lazarus. If you run into trouble and cannot figure out a solution by yourself even after Googling for answers to similar problems, the forum is the best place to ask.
You will usually find there are many experienced people reading the Forum who will help you.
But, as soon as you get an answer which you find resolves your problem, please let everyone else know that the proposed solution worked for you.
It's very easy to get overexcited, once things start working again, and you might omit to tell everyone else. Please DON'T forget, because we'd like to know, and anyone else who later runs into the same issue, would also like to know that the solution proposed is a good one.
The same applies, if you've created a thread, where a working solution has not yet been given and you find a solution (by yourself, or somewhere else). Please DO NOT LEAVE the thread you've started orphaned. Just return to the thread and briefly indicate the solution you found.
Mark a thread as resolved
The easiest way to indicate that your problem is solved is to add "[SOLVED]" to the thread subject. Provided you're the original thread's author it is easy to do.
- Go to the very first post of the thread
- Modify the first message
- You should see the "Subject" of the message. The subject defines the subject of the thread.
- Simply add [SOLVED] to the beginning of the subject (leave the rest of the subject as it is).
- Hit Save.
This procedure can also be used to fix typos in the thread subject if you later notice it has spelling mistakes.