[fpc-pascal] Poor man's resource code available and CheckRide update: now with editor
Hi all, (Cross posted to Lazarus+FPC lists) Thanks to UPayload (http://www.delphidabbler.com/articles?article=7) and some help on the forum, I could implement an alternative way of storing files in an executable file (basically it just appends them with a footer). See source: poormansresource.pas in https://bitbucket.org/reiniero/checkride/src/, and the CheckRideResourceZipper project for sample code This method allows me to edit such a resource using an FPC/Lazarus program. As - I think - DoDi predicted, I had a lot of trouble trying to work with regular Windows resources, but whether that is due to bugs in FPC, Windows or me, I don't know ;) I updated my CheckRide remote control package with this functionality: a helper can edit CheckRide.exe with his hostname and port number and distribute that single exe to his clients/helped persons. This allows 1 click operation at the helped side. I also tested operation with a Linux helper running stunnel+vncviewer and a WIndows helped party running CheckRide.exe See the site mentioned above. Comments, patches, as well as criticism welcome ;) Thanks, Reinier ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
On Sun, 29 Jan 2012, Krzysztof wrote: Just as I thought - it is object class thing. So if FPC does not (fully) support directly calling external C++ libraries there are plans to support it? This will be great There are no plans to support it, since every C++ compiler uses it's own (incompatible) format, and G++ changes it format regularly, so I was given to understand. Michael. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
On Monday 30 of January 2012 08:35:23 waldo kitty wrote: i may have easily misunderstood the OP's post... i tend to read in literan english format... ie: if you say eggs are round, that is where i base my response unless it is very obvious that there is something else to consider which i point out ; I think that this question was pretty clear: Do other languages like python use the plain c interface, or C++? zeljko ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
waldo kitty wrote: On 1/29/2012 17:41, Lars wrote: Anything that has Capacitors in it which use wet electrolytic, can dry out with age. Old stereos that crackle when you turn up the volume are an example. In motherboards though it seems it's more a problem that capacitors blow up and bulge out which is probably from usage rather than idle age. speaking as a hardware man, these components are easily replaced... in many cases, if the board's traces are damaged, they, too, can be repaired... i am still replacing capacitors on boards from that old problem where capacitors were purchased from manufacturers that fell to the capacitor espionage situation of some, what?, 15 years ago? I have replaced capacitors too, on car electronics and stereos, with great success. Even you can get better capacitors that don't dry out. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
waldo kitty wrote: On 1/29/2012 17:38, Lars wrote: Do other languages like python use the plain c interface, or C++? how about something like ruby, lua, objective C, php .. :( i don't nderstand why one would want to apply interpreted script languages, al la BASIC, to today's tasks... sure, these are neat and more modern but they are still interpreted scripting languages :( Eh, I meant how does ruby, lua, objective c, and similar tools bind the C++ api. Do they use an automatic tool that converts QT C++ objects to procedural? or by hand, someone converts the objects to procedures and structs? Or do they use the c++ objects directly to python objects.. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
Felipe Monteiro de Carvalho wrote: On Sun, Jan 29, 2012 at 11:38 PM, Lars nore...@z505.com wrote: Do other languages like python use the plain c interface, or C++? how about something like ruby, lua, objective C, php .. No idea, but Python, ruby, lua and php do not generate real programs but instead are just scripts which run in a interpreter, which is immensely different from a real program. Real Programmers... When you use pascal to build web programs you use templates, right.. so you are interpreting templates. When you read an INI file you are interpreting the INI file. Some pascals, safe ones, are interpreted. Like Oberon, or UCSD Pascal. When you parse an Edit.Text and check it to make sure there is not some user error on input, you are interpreting things. Compiled programs are not fully compiled, they always contain some run time interpretation. When you use regexes they are interpreted. When you use wildcards in search boxes they are interpreted. From my testing, CGI programs that are compiled binaries, are actually SlowER than PHP programs. I am no fan of PHP , but it is pretty fast. A more close comparison to Pascal might be asking what Fortran, Cobol, Ada or other similar compiled languages do, and I think that all of those would need a C interface. True, but still interesting to know if Python objects are somehow compatible with C++ objects, as a kind of academic exersise.. how do they do it? Possibly they just bind to procedural API, but it would be cool if they somehow did it more effectively. I also mentioned Objective C in my request but I have no idea if objective c even has a QT binding.. I know very well Java due to Android work, which cannot bind to anything directly. It requires a special format using plain procedures in a special way, so it is like a C interface, or a plan Pascal procedural interface. It is called JNI and it will never accept C++ That's good information and adds to the knowledge.. of how they do it. Cool. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
waldo kitty wrote: On 1/29/2012 17:41, Lars wrote: Anything that has Capacitors in it which use wet electrolytic, can dry out with age. Old stereos that crackle when you turn up the volume are an example. In motherboards though it seems it's more a problem that capacitors blow up and bulge out which is probably from usage rather than idle age. speaking as a hardware man, these components are easily replaced... in many cases, if the board's traces are damaged, they, too, can be repaired... i am still replacing capacitors on boards from that old problem where capacitors were purchased from manufacturers that fell to the capacitor espionage situation of some, what?, 15 years ago? People who repair things are a dying breed. I'm waiting for spare cash, at which point my SGI PSU will be going off to somebody who claims to be able to repair it (blown semiconductor, no obvious major damage). -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] [OT] Re: I found FPC v0.2 source code :-)
On 30/01/2012 02:31, waldo kitty wrote: [...] problem where capacitors were purchased from manufacturers that fell to the capacitor espionage situation of some, what?, 15 years ago? Hi Waldo, it was hard to not notice that situation, 15 years ago, although I never heard it was espionage... Would you care to shed some light ? Or do you have some links to the story? L. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
On 30 January 2012 10:54, Mark Morgan Lloyd wrote: People who repair things are a dying breed. I fully agree. Totally off-topic, but anybody here know of a course or books one could buy on basic electronic repairs. Thinking in lines of PSU etc to start with. I've been long wanting to enter this as a hobby project of mine, but I have no idea where to start. I am so stick of buying new PSU or other power adapters, when there is probably a good chance it could have be repaired in a few minutes (only if I knew how). I remember 8 years ago, my laptop charger had a worn wire. You had to wiggle the wire before the laptop would charge. I search high and low in the UK for somebody that could simply replace the cable. Nobody wanted to touch it! Eventually I bought a soldering iron, cut out the broken part of the wire and fixed it myself. It's ridiculous that nobody wants to repair things any more. -- Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
Graeme Geldenhuys wrote: On 30 January 2012 10:54, Mark Morgan Lloyd wrote: People who repair things are a dying breed. I fully agree. Totally off-topic, but anybody here know of a course or books one could buy on basic electronic repairs. Thinking in lines of PSU etc to start with. I've been long wanting to enter this as a hobby project of mine, but I have no idea where to start. I am so stick of buying new PSU or other power adapters, when there is probably a good chance it could have be repaired in a few minutes (only if I knew how). Some power supplies that I have found faulty before have a blown glass fuse in them. Sometimes it is not worth repairing things because there is risk of electrocuting yourself.. other times it is worth repairing. Depends. I don't know of any books but people used to start off with 555 timers and read books on them. I found it too boring building clocks and other trivial devices and I was happy to learn programming which is easier to do complex things than soldering (which was extremely difficult). To keep it on topic, there is programmable hardware available where you can change the hardware using a hardware programming language. Niklaus Wirth is interested in such technology. Instead of soldering in capacitors and resistors, you program in something that emulates a resistor or capacitor. This makes prototyping circuits much easier because instead of soldering, you program in the devices you would have otherwise soldered. The devices are called Field-programmable gate array's I think, and from what I remember Niklaus Wirth was programming a remote control helicopter with it, or maybe oberon, it's been so long that I cannot remember the details. Just trying to keep it a bit on topic. I remember 8 years ago, my laptop charger had a worn wire. You had to wiggle the wire before the laptop would charge. I search high and low in the UK for somebody that could simply replace the cable. Nobody wanted to touch it! Eventually I bought a soldering iron, cut out the broken part of the wire and fixed it myself. It's ridiculous that nobody wants to repair things any more. I've had these experiences too, sometimes the power supply is 50 bucks. If the power supply is only 12 dollars then it's better just to replace it since time equals money. But not always, it depends. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
Graeme Geldenhuys wrote: On 30 January 2012 10:54, Mark Morgan Lloyd wrote: People who repair things are a dying breed. I fully agree. Totally off-topic, but anybody here know of a course or books one could buy on basic electronic repairs. Thinking in lines of PSU etc to start with. I've been long wanting to enter this as a hobby project of mine, but I have no idea where to start. I am so stick of buying new PSU or other power adapters, when there is probably a good chance it could have be repaired in a few minutes (only if I knew how). I remember 8 years ago, my laptop charger had a worn wire. You had to wiggle the wire before the laptop would charge. I search high and low in the UK for somebody that could simply replace the cable. Nobody wanted to touch it! Eventually I bought a soldering iron, cut out the broken part of the wire and fixed it myself. It's ridiculous that nobody wants to repair things any more. My degrees are electronics, and in theory I'm trained to fix some /big/ mainframe switchmode PSUs, so with apologies to the list owner I'm probably in a position where I have to comment on this for safety reasons. My advice: don't. The big things that I worked on had banks of transistors that were packed with toxic powder (beryllium IIRC), when one failed the whole row would unzip messily. A colleague took a new CRT out of its packing and got a massive shock because it still contained charge from manufacture. I've got any number of stories about people who've done something that they thought was safe which has gone on to cause damage or injury. Things like the output wire on low voltage PSUs are fair game for repair. You can get spare concentric connectors from RS or Maplin in the UK (Graeme- I thought you were abroad?), you can slit and superglue boots, fabricate insulators from metal-loaded epoxy (black stuff- it's actually iron oxide) and RTV or potting compound, repair some (but not all) plastic that degrades with age and so on. But if you want to start getting into the electronics side of it, and in particular if you want to work on sealed PSUs (I don't know the current situation, but the law used to be that anything containing 50V had to be unopenable by hand i.e. you /had/ to use screwdrivers etc.) then I'd suggest looking around for something like a CG-accredited electronic technician course- which full-time would take years. The chap I was talking to about my PSU repair is at http://www.olympus-electronics.co.uk/ He quoted a nominal £45 but that obviously doesn't include carriage etc. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
On 30/01/12 09:05, Graeme Geldenhuys wrote: On 30 January 2012 10:54, Mark Morgan Lloyd wrote: People who repair things are a dying breed. I fully agree. Totally off-topic, but anybody here know of a course or books one could buy on basic electronic repairs. Thinking in lines of PSU etc to start with. I've been long wanting to enter this as a hobby project of mine, but I have no idea where to start. I am so stick of buying new PSU or other power adapters, when there is I'd advise against fiddling with switch mode PSUs. The way it is now is that simple ones are too cheap for anybody to bother repairing. But then they turn out to be pretty crap (due to the cheapness). Repair cables and connectors, perhaps even replace bulging capacitors, but apart from that, this is not hobby material! Henry ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
Hi, Please move the hardware hacking discussions to the fpc-other mailing list. Thanks, Jonas FPC mailing lists admin ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
Am 30.01.2012 07:53 schrieb zeljko zel...@holobit.net: On Sunday 29 of January 2012 22:16:45 Krzysztof wrote: Just as I thought - it is object class thing. So if FPC does not (fully) support directly calling external C++ libraries there are plans to support it? This will be great Maybe it is possible (or will be possible) to use C++ class, but I don't see light at the end of tunnel for eg override virtual routine from such C++ class which is possible by C interface or howto attach callback (event) from pascal to C++. So if it isn't possible then what's the point with C++ support ? The C++ support in the compiler isn't advanced enough to even remotely think about that yet. Regards, Sven ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
On Monday 30 of January 2012 11:51:10 Den Jean wrote: On Monday 30 January 2012 09:28:00 michael.vancann...@wisa.be wrote: There are no plans to support it, since every C++ compiler uses it's own (incompatible) format, and G++ changes it format regularly, so I was given to understand. even with support for calling c++ methods, the many inlined functions are still an issue Yes, there's only one thing which can put some light over it, and that is if qt nokia decides to create pure C bindings as separate packages (dlls) for qt libs .. but it won't happen so long live libQt4Pas zeljko ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] I found FPC v0.2 source code :-)
Lars wrote: To keep it on topic, there is programmable hardware available where you can change the hardware using a hardware programming language. Niklaus Wirth is interested in such technology. Instead of soldering in capacitors and resistors, you program in something that emulates a resistor or capacitor. This makes prototyping circuits much easier because instead of soldering, you program in the devices you would have otherwise soldered. The devices are called Field-programmable gate array's I think, and from what I remember Niklaus Wirth was programming a remote control helicopter with it, or maybe oberon, it's been so long that I cannot remember the details. Just trying to keep it a bit on topic. I've commented to this in fpc-other. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
RE : [fpc-pascal] libQT4Pas - Why it is needed?
Eh, I meant how does ruby, lua, objective c, and similar tools bind the C++ api. Do they use an automatic tool that converts QT C++ objects to procedural? or by hand, someone converts the objects to procedures and structs? Or do they use the c++ objects directly to python objects.. The smoke wrapper http://techbase.kde.org/Development/Languages/Smoke is used by a lot of these languages. See also http://lists.trolltech.com/qt-interest/2006-08/thread00721-0.html. Smoke is actually a tool that generates runtime wrappers for c++ libraries. It supports virtual methods, multiple inheritance etc. Ludo ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: RE : [fpc-pascal] libQT4Pas - Why it is needed?
On Monday 30 of January 2012 14:27:10 Ludo Brands wrote: Eh, I meant how does ruby, lua, objective c, and similar tools bind the C++ api. Do they use an automatic tool that converts QT C++ objects to procedural? or by hand, someone converts the objects to procedures and structs? Or do they use the c++ objects directly to python objects.. The smoke wrapper http://techbase.kde.org/Development/Languages/Smoke is used by a lot of these languages. See also http://lists.trolltech.com/qt-interest/2006-08/thread00721-0.html. Smoke is actually a tool that generates runtime wrappers for c++ libraries. It supports virtual methods, multiple inheritance etc. Yes there's smoke but that's all... no docs - exactly nothing. I've tried to dig into and try to get out how to create simplest wrapper, lost 3-4 hours with result = 0. zeljko ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Re: libQT4Pas - Why it is needed?
On 30/01/2012 11:25, Sven Barth wrote: I wouldn't say that there is no plan for C++ support as some code for this already exists in the compiler. While it's true that different C++ compilers are incompatible to each other and that also G++ likes to change its formats now and then, the basic memory layout in G++ is rather stable. The biggest problems is getting this supported at all, interfacing with the C++ Std library and things like virtual methods, etc. Regards, Sven In layman's terms : what is the 'support level' required for this to even /start/ working at all(even if not perfect at first) and what is considered '100% supported' ? So that people who /know/ things (not me I'm afraid) can tinker it to make it better ? L. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Re: libQT4Pas - Why it is needed?
On 30.01.2012 15:43, Lukasz Sokol wrote: On 30/01/2012 11:25, Sven Barth wrote: I wouldn't say that there is no plan for C++ support as some code for this already exists in the compiler. While it's true that different C++ compilers are incompatible to each other and that also G++ likes to change its formats now and then, the basic memory layout in G++ is rather stable. The biggest problems is getting this supported at all, interfacing with the C++ Std library and things like virtual methods, etc. Regards, Sven In layman's terms : what is the 'support level' required for this to even /start/ working at all(even if not perfect at first) and what is considered '100% supported' ? So that people who /know/ things (not me I'm afraid) can tinker it to make it better ? I don't know what you want to get at, but what currently works can be seen in the following test files: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/tests/test/cg/tcppcl1.pp?revision=16684view=markup http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/tests/test/cg/tcppcl2.pp?revision=16684view=markup The corresponding C++ files are http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/tests/test/cg/obj/cpptcl1.cpp?revision=15239view=markup http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/tests/test/cg/obj/cpptcl2.cpp?revision=15239view=markup Basically this means that name mangling works and calling static methods of C++ classes. That's it currently. I had planned to extend the support a bit (you'll see my name in one of the commit messages), but I got sidetracked with other projects like NativeNT port, helper types and generics (not to mention my non-FPC-related projects). Regards, Sven ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
On 01/30/12 02:19, Graeme Geldenhuys wrote: On 29 January 2012 16:31, Jonas Maebe wrote: GTK offers a plain C interface. QT only offers a C++ interface. FPC does not (fully) support directly calling external C++ libraries. LibQT4Pas offers a plain C interface to QT for use by FPC. Can one statically bind the LibQt4Pas into a FPC program, thus not require to ship an external libqt4pas DLL/SO? If possible, that might solve the original posters problem. It seems to me that you could compile qt4pas.c (or what ever the source file(s) of libqt4pas.so is) into a qt4pas.o and just link them statically with {$link qt4pas.o} which then would leave out the requirement for libqt4pas.so to be distributed with any program using the qt interface. The gpl? license may or may not make that possible though. Regards, Andrew ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
It seems to me that you could compile qt4pas.c (or what ever the source file(s) of libqt4pas.so is) into a qt4pas.o and just link them statically with {$link qt4pas.o} which then would leave out the requirement for libqt4pas.so to be distributed with any program using the qt interface. The gpl? license may or may not make that possible though. Regards, Andrew This sounds interesting ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
On Monday 30 January 2012 23:08:36 Krzysztof wrote: the qt interface. The gpl? license may or may not make that possible the binding and Qt are LGPL ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] libQT4Pas - Why it is needed?
On Monday 30 of January 2012 20:17:22 Andrew Haines wrote: On 01/30/12 02:19, Graeme Geldenhuys wrote: On 29 January 2012 16:31, Jonas Maebe wrote: GTK offers a plain C interface. QT only offers a C++ interface. FPC does not (fully) support directly calling external C++ libraries. LibQT4Pas offers a plain C interface to QT for use by FPC. Can one statically bind the LibQt4Pas into a FPC program, thus not require to ship an external libqt4pas DLL/SO? If possible, that might solve the original posters problem. It seems to me that you could compile qt4pas.c (or what ever the source file(s) of libqt4pas.so is) into a qt4pas.o and just link them statically with {$link qt4pas.o} which then would leave out the requirement for libqt4pas.so to be distributed with any program using the qt interface. The gpl? license may or may not make that possible though. hm..this looks pretty interesting. Have you tried that ? zeljko ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal