[lazarus] Win32 Version Information - .res file format
Hello all, Once I noticed that the windres program cannot handle filenames with spaces in it (at least not under windows), I started to investigate the possibility to write a compiler-routine myself. This routine should pick up all variables as they are in the VersionInfo tab and write the codes to the .res file directly. After several searches on internet, I found there is not much information available on the file format of the .res file. I've fiddled around a bit with the info I found and tried some things out with a program called XN Resource Editor. I think I can work it out, but it will cost lots of time. Just to save time (and effort :-) ) I was wondering if somebody around here maybe has a detailed description of the .res file format? Thanks for your help in advance! Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] VersionInfo - Question on saving the main source file
Mattias, When you use the VersionInfo for the first time, the main source is not updated with a $R .res} line. The code as it is now, updates this using the codetools. However, this happens after all files have been saved for compilation. This results in that main source is updated, but the compiler uses the file from disk without the updated line. Saving the file can be easily done using TCodeBuffer.SaveToFile. However this does not reset the modified flag. Result will be that lazarus asks to save the file, while the file on disk is already up to date. I searched trough the codetools, but could not find out how to solve this problem. What should I use??? Thanks, Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Just testing
This is just a test, please ignore and delete... _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] VersionInfo - How to set "SomethingHasChanged"?
So I've noticed... :-) Now try to remember which of the 37 email addresses I used for subscribing... lol Tony Maro writes: Yes, you must make sure you send them from the address you signed up with. Your "From" address was different on the first one from the looks of it. On Fri, 2006-09-01 at 18:21 +0200, Jouke Rensma wrote: Somehow I cannot get this mail through. Maybe this one??? -- Forwarded message -- From: [EMAIL PROTECTED] To: "lazarus@miraclec.com" Subject: VersionInfo - How to set "SomethingHasChanged"? Date: Fri, 01 Sep 2006 13:16:44 +0200 Hi, I'm still working on the VersionInfo and I'm getting closer! This thing I cannot really find how to do: I have some parameters in the ProjectOptions. I want them to be saved in the lpi file. I've added the statements for doing that in the WriteProject routine. This works fine when you click Save or Save All, but how can I force this save on closure (of Lazarus)? I've seen something like "SomethingHasChanged", but my guess is that there is a better way... Thanks! Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] VersionInfo - How to set "SomethingHasChanged"? (fwd)
Somehow I cannot get this mail through. Maybe this one??? -- Forwarded message -- From: [EMAIL PROTECTED] To: "lazarus@miraclec.com" Subject: VersionInfo - How to set "SomethingHasChanged"? Date: Fri, 01 Sep 2006 13:16:44 +0200 Hi, I'm still working on the VersionInfo and I'm getting closer! This thing I cannot really find how to do: I have some parameters in the ProjectOptions. I want them to be saved in the lpi file. I've added the statements for doing that in the WriteProject routine. This works fine when you click Save or Save All, but how can I force this save on closure (of Lazarus)? I've seen something like "SomethingHasChanged", but my guess is that there is a better way... Thanks! Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] How to retrieve locale info?
Hi all, For the VersionInfo thing I'm working on, I need to create a list of possible locale infos. I need two lists. For the language a list in the form like: Arabic, 0401, 1025, Bulgarian, 0402, 1026 Catalan, 0403, 1027 ... ... (all strings) And something like that for the character set: 7-bit ASCII, , 0, Japan (Shift - JIS X208), 03A4, 932, ... ... (all strings) Is there such a list available already inside of Lazarus/FPC or can it be pulled out of windows somehow? Otherwise what do you think would be the best way to create such a list? Just hardcoded? Read it from some file? Any other suggestion? Thanks! Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Cannot build Lazarus
Vincent (and others ofcourse), You probably already noticed, but just for sure: I've added my findings to the wiki "Getting Lazarus". Regards, Jouke Vincent Snijders writes: Jouke Rensma wrote: Vincent, thanks for your help! I decided to use 2.0.2 from now on. I did some fooling around with files and downloads etc. Maybe it's a good idea to put my "solution" in the Lazarus svn wiki??? Feel free to add it. (I don't know what you mean by "solution", but I will read it). Vincent. _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Version Information: your comments please
I've sent the mail below earlier but apparantly it did not make it. Maybe due to the attachements? I now zipped them into one (smaller) file. --- Hi all, After some strugling, re-doing and starting from scratch again, I managed to get the version information hooked into the compile process. With several things still to do (see below), now I would like to know: - Am I on the right track? - Have I hooked in on the right places? - Where did I go wrong, and where not? Current status: - the rc file has to be created by hand. - you can select in the project options if you want to use version info. - if so, you can also select if you want to auto-update the build number. - if selected the build number will be updated. - if you deselect the use of versioninfo, the rc file is not updated anymore and is not re-compiled, however the "old" info is kept in the executable (see todo). Things to do: - Include the other Version Info fields: - "Comments" - "CompanyName" - "FileDescription" - "InternalName" - "LegalCopyright" - "LegalTrademarks" - "OriginalFilename" - "ProductName" - "ProductVersion" - Also include the additional fields: - "Translation" (this is one line in the rc file, but contains 2 fields: Language and Character Set) - Detect if the build of the application itself went ok or not and keep build-number accordingly. - Removal of the Version Info, when user decides to not use it anymore. So, ladies and gentlemen, your comments please... Cheers, Jouke PS I hope I created the patch the right way etc.??? PS2 the number in the filename of the patch is just for my own reference. zippyeoF6g5es.zip Description: Zip archive
[lazarus] My compliments to Lazarus and FPC!!!
Hi all, Last weekend I had to solve a quite large network problem. For that I needed to insert around 500 static routes from some text files. These text files were to be constructed from the output of another command on the routers. These files contained about 5 times more lines then needed. There was no easy way to get from one file to the other so I decided to write a program and ofcourse I used Lazarus for that. Thanks to the RAD functionality I was able to have the program ready I less then half an hour. The basic algorithm was just some string handling with POS, COPY and TRIMLEFT. Programming this took most of the time. The user interface was created with just a view drag-n-drops and a little code (edit fields and an open dialog). So here's a great THANKS to all you guys who made this possible. And as I said my compliments to all of you for both Lazarus and FPC!!! Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Cannot build Lazarus
Vincent, thanks for your help! I decided to use 2.0.2 from now on. I did some fooling around with files and downloads etc. Maybe it's a good idea to put my "solution" in the Lazarus svn wiki??? Btw I already solved the "problem" friday, but for my job I used almost the whole friday evening and the saterday to solve a huge problem. During that I made great use of Lazarus! I will post that in a seperate thread. Thanks again! Jouke - Original Message - From: "Vincent Snijders" <[EMAIL PROTECTED]> To: Sent: Friday, March 10, 2006 4:31 PM Subject: Re: [lazarus] Cannot build Lazarus Jouke Rensma wrote: Please advice then: is it better to use 2.0.2? Also when I'm developing for Lazarus itself (or at least try to :-) )? Yes, I think so. Less things to worry about. If you want to develop for lazarus itself you do need *Lazarus* from SVN. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Cannot build Lazarus
Please advice then: is it better to use 2.0.2? Also when I'm developing for Lazarus itself (or at least try to :-) )? Vincent Snijders writes: Graeme Geldenhuys wrote: Does Lazarus work with FPC 2.1.1 ? Yes, with fpc 2.1.1 from svn, not a two weeks old one. If you want to use fpc 2.1.1, then you must be prepared to update your fpc version regular, because only fpc 2.1.1 svn head will be supported. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Cannot build Lazarus
Damn, do I hate this!!! Normally I think of myself as a high-skilled network engineer with a more than moderate computerknowledge. Most problems I can solve on my own without asking others. But this time I have no clue (again...). So what I did: - From my current Lazarus directory, I removed the fpcsrc directory. - Created a new, empty fpcsrc directory. - Performed a SVN CheckOut. - Did a make clean all (while in c:\lazarus\fpcsrc). - This breaks with the following: C:/lazarus/pp/bin/i386-win32/ppc386.exe -Ur -Xs -OG2p3 -n -Fui386 -Fusystems -Fu C:/lazarus/fpcsrc/rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32 -dR ELEASE -di386 -dGDB -dBROWSERLOG -Fux86 pp.pas C:\lazarus\pp\bin\i386-win32\ld.exe: cannot find wprt0.o From some document I find that I should check THE fpc.cfg for existance of a line -Fu The only fpc.cfg I found contains this: -Fuc:\lazarus\pp/units/$FPCTARGET/rtl which I believe is correct. The file wprt0.o is there too. Why does make try to find the in: C:/lazarus/fpcsrc/rtl/units/i386-win32 ? To Graeme: Yes, it works with 2.1.1. From what I understood the snapshots are compiled with 2.1.1, while the stable releases (even numbers) use 2.0.x. Vincent Snijders writes: Jouke Rensma wrote: Hi all, Just updated via svn to rev. 8903. Now the build of Lazarus breaks in MemCheck.pas with this message: C:\lazarus\components\codetools\MemCheck.pas(797,9) Error: Identifier not found "StackTop" What could be wrong? I'm using WinXP and FPC 2.1.1 You need to update fpc 2.1.1 to the current SVN version. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Cannot build Lazarus
Hi all, Just updated via svn to rev. 8903. Now the build of Lazarus breaks in MemCheck.pas with this message: C:\lazarus\components\codetools\MemCheck.pas(797,9) Error: Identifier not found "StackTop" What could be wrong? I'm using WinXP and FPC 2.1.1 Thanks for your help! Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Version information
I'm working on the .lpr file edit now. Should I create my own CodeBuffer or is ther an existing one (in main.pp), which I can use? Jouke Mattias Gaertner writes: On Fri, 03 Feb 2006 14:36:01 +0100 "Jouke Rensma" <[EMAIL PROTECTED]> wrote: [...] >> Where I'm stuck right now is two things: >> - I need the check the main program code, toe see if the "{$R >> .rex}" > > Do you mean {$R *.res} ? Yes, I mean *.res. Sorry for my typos. Maybe I should read back what I typed before hitting the send button??? :-) I added FindResourceDirective and AddResourceDirective. For example: if not CodeToolBoss.FindResourceDirective(CodeBuf,1,1,NewCode,NewX,NewY,NewTopLine ,'*.res') then begin // $R *.res must be added if not CodeToolBoss.AddResourceDirective(CodeBuf,'*.res') then MessageDlg(...tell user about failure...) else ; // success end; Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: SVN does not compile
Nevermind my previous mail, thanks to Michael's hint, I got it working now. I copied the pp and fpcsrc trees from the daily snapshot of yesterday into the (SVNned) lazarus directory. The "make clean all" worked this time!!! Just another question: how should I keep SVN inline? I mean, should I do a "svn update" regulary and perform a "make clean all" after that? And how does this influence the work I did? Is that overwritten or merged with the SVN-version? Thanks again! Jouke Jouke Rensma writes: I tried several methods: - in a fresh (empty) directory - over the existing install - for the "tools/build lazarus" I used a fresh directory and copied lazarus.exe and startlazarus.exe from the old install to this dir. I did the same for the complete tree's pp, fpcsrc and units. I then started lazarus and ran "tools/build lazarus". Whatever methos I use, they all fail as described... Any other hints??? Jouke Felipe Monteiro de Carvalho writes: Hello, Did you download the Subversion Lazarus on top of the old one? You should create an empty directory to place the svn lazarus. Then you can compile lazarus using 'make clean all' with the DOS prompt on lazarus directory. Make sure that the make.exe executable distributed with the old lazarus is on your PATH. Felipe _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: SVN does not compile
I tried several methods: - in a fresh (empty) directory - over the existing install - for the "tools/build lazarus" I used a fresh directory and copied lazarus.exe and startlazarus.exe from the old install to this dir. I did the same for the complete tree's pp, fpcsrc and units. I then started lazarus and ran "tools/build lazarus". Whatever methos I use, they all fail as described... Any other hints??? Jouke Felipe Monteiro de Carvalho writes: Hello, Did you download the Subversion Lazarus on top of the old one? You should create an empty directory to place the svn lazarus. Then you can compile lazarus using 'make clean all' with the DOS prompt on lazarus directory. Make sure that the make.exe executable distributed with the old lazarus is on your PATH. Felipe _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] SVN does not compile
Hi all, As I am planning to add to the Lazarus development, I understood I have to keep my Lazarus in line with SVN. So I tried to get the SVN version working. Unfortunately the make breaks down. I tried to compile from the command line (make clean all) and also from the working (but old) Lazarus version (tools/build lazarus). Both methods break down. The command line shows as the last few lines: PropEdits.pp(4563,63) Hint: Local variable "NewSortedText" does not seem to be i nitialized PropEdits.pp(4686,6) Hint: Local variable "CValue" does not seem to be initializ ed PropEdits.pp(6108) Fatal: There were 1 errors compiling module, stopping PropEdits.pp(53,19) Fatal: Compilation aborted make[1]: *** [allideintf.ppu] Error 1 make[1]: Leaving directory `C:/lazarus/ideintf' make: *** [ideintf] Error 2 But the real problem is (as far as I can see) at the same point as where the tools/build lazarus breaks: C:\lazarus\ideintf\PropEdits.pp(2830,23) Error: Identifier not found "StrToQWord" I'm sure it is something stupid, but I have no clue Thanks for your help!!! Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Version information
See also below. I don't have very much time available, so I hope you don't expect it to be ready in the very near future Jouke Mattias Gaertner writes: On Thu, 02 Feb 2006 09:41:51 +0100 "Jouke Rensma" <[EMAIL PROTECTED]> wrote: Thanks for the positive reactions! As I said in my initial mail, I have some things already setup and working. For this I kept things as much as possible the way they are. Right now I have a routine that checks for existance of .rc and if it finds one, it updates the versionInfo (auto incrementing the build number). Next it calls windres via a tprocess. I hooked the routine in immedialtely after DoSaveForBuild (main.pp). Where I'm stuck right now is two things: - I need the check the main program code, toe see if the "{$R .rex}" Do you mean {$R *.res} ? Yes, I mean *.res. Sorry for my typos. Maybe I should read back what I typed before hitting the send button??? :-) sentence is already there and if not add it. I can read/write to the .lpr file directly offcourse, but I'm sure there is a better way, but how??? I will add a function to the codetools. Where should it be placed in the source? It should be placed just before the 'begin'. -- snip -- uses Interfaces, // this includes the LCL widgetset Forms { add your units here }, Unit1; {$R project1.res} begin -- end snip -- - More or less the same goes for the .lpi file. I want to have a few parameters in that one. At the moment I'm thinking of: - a parameter if whether we should include versionInfo or not - a parameter for whether auto-incementing the build number or not. It seems, we need: TAutoIncProjectVersion = ( aipvNo, // do not auto increment aipvBeforeBuild, // before building and last build was successful aipvAfterBuild // after successful build ); AutoIncrementingVersion: TAutoIncProjectVersion How do I access the .lpi file in a smart way??? Add new property to ideintf/projectintf.pas TLazProject Add to ide/project.pp ReadProject and WriteProject. Ok, thanks! Mattias Thanks for your help! ttyl, Jouke Marc Weustink writes: > Mattias Gaertner wrote: >> On Wed, 01 Feb 2006 13:53:27 +0100 >> Micha Nelissen <[EMAIL PROTECTED]> wrote: >> >> >>> Jouke Rensma wrote: >>> >>>> automatically. At this moment you have to arrange this by hand. >>>> As said before I would first like to know: >>>> - am I inventing a wheel? >>>> - is somebody else working on this also? If yes, maybe we can >>>> cooperate??? - since this is very windows specific, should I continue >>>> anyway or maybe just forget about it? >>>> >>>> If you think I should continue, then I have some problems I would to >>>> discuss, but first your ideas please. >>> >>> I think you'll have to write/modify these things into a >.rc >> and then run windres to compile it to .res ? I think >keeping the >> buildnumber in the project file and automatically >incrementing it upon >> succesfull build isn't a big problem (Mattias >usually does these kind of >> things in the IDE...) ? >> >> >> At the moment the IDE saves all files, before building a project. So >that > all build tools have all data. >> If we increase the number *after* a successful build, then the the .lpi > >> file >> must be saved again and the executable will have the old version. >> I'm not sure, if this is what we want. > > This is the delphi behaviour which is imo annoying. > To get the numbers the same, here we always do a build + compile > > >> Maybe better: >> If the last build was successful, increase build number *before* >> save+building. > > That might be better. > > Marc > > _ > To unsubscribe: mail [EMAIL PROTECTED] with >"unsubscribe" as the Subject > archives at http://www.lazarus.freepascal.org/mailarchives > _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Version information
Thanks for the positive reactions! As I said in my initial mail, I have some things already setup and working. For this I kept things as much as possible the way they are. Right now I have a routine that checks for existance of .rc and if it finds one, it updates the versionInfo (auto incrementing the build number). Next it calls windres via a tprocess. I hooked the routine in immedialtely after DoSaveForBuild (main.pp). Where I'm stuck right now is two things: - I need the check the main program code, toe see if the "{$R .rex}" sentence is already there and if not add it. I can read/write to the .lpr file directly offcourse, but I'm sure there is a better way, but how??? - More or less the same goes for the .lpi file. I want to have a few parameters in that one. At the moment I'm thinking of: - a parameter if whether we should include versionInfo or not - a parameter for whether auto-incementing the build number or not. How do I access the .lpi file in a smart way??? Thanks for your help! ttyl, Jouke Marc Weustink writes: Mattias Gaertner wrote: On Wed, 01 Feb 2006 13:53:27 +0100 Micha Nelissen <[EMAIL PROTECTED]> wrote: Jouke Rensma wrote: automatically. At this moment you have to arrange this by hand. As said before I would first like to know: - am I inventing a wheel? - is somebody else working on this also? If yes, maybe we can cooperate??? - since this is very windows specific, should I continue anyway or maybe just forget about it? If you think I should continue, then I have some problems I would to discuss, but first your ideas please. I think you'll have to write/modify these things into a .rc and then run windres to compile it to .res ? I think keeping the buildnumber in the project file and automatically incrementing it upon succesfull build isn't a big problem (Mattias usually does these kind of things in the IDE...) ? At the moment the IDE saves all files, before building a project. So that all build tools have all data. If we increase the number *after* a successful build, then the the .lpi file must be saved again and the executable will have the old version. I'm not sure, if this is what we want. This is the delphi behaviour which is imo annoying. To get the numbers the same, here we always do a build + compile Maybe better: If the last build was successful, increase build number *before* save+building. That might be better. Marc _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Version information
Hi all, I am working on an enhancement for Lazarus itself, but I got stuck for the moment. So before continueing I thought maybe I should first discuss this with other Lazarus people. Maybe i am inventing a wheel or maybe someone else is working on the same thing... What I am trying to create is an integration of the Version Info fields for windows. To be more exact: I am trying to get the same automatic info as Delphi has. So you just have to check some checkboxes and give some information about your program and Lazarus will take care of the rest and add the version info to the program and update the build number automatically. At this moment you have to arrange this by hand. As said before I would first like to know: - am I inventing a wheel? - is somebody else working on this also? If yes, maybe we can cooperate??? - since this is very windows specific, should I continue anyway or maybe just forget about it? If you think I should continue, then I have some problems I would to discuss, but first your ideas please. ttyl Jouke _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives