Re: [lazarus] vote for bdd related component icon
Roberto Padovani wrote: I would leave the bitmap of a grid only for grids. +1 my .02 Now .04 -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus 0.9.24 Congrats
Bee wrote: I don't use Delphi 6, but for some projects its in par with Delphi 7. I'm using Lazarus 9.25 (SVN). For some features, Lazarus is better than Delphi 7, even par with Turbo Delphi. But for some other features, Delphi 7 is better, for example: integrated help. ;) You don't need help, you have Ctrl+Click, Ctrl+Space, fpc docs and Google ;) The debugger and the maturity of the visual classes of the VCL are the big advantages of Delphi, IMHO. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Al Boldi wrote: You simply cannot compare a form with three combos and two grids between dbware and mvp approaches. The former will eat five groups of data access components, shortcuts to include some funcionality and a lot of time to configure and debug everything. MVP will eat five lines of code, nothing more. The same model that will manage this controls, will also generate the DDL necessary to build the database metadata for you. Well, your demo phone app doesn't look so simple. I wasn't very happy with this app, it is being refactored. After all: 1. the project still lacks an expert and better docs; 2. even without an expert, after learn all steps everything comes clear (and amusing if you are an oop guy ;)); 3. You need to be familiar with OOP, with or without an expert. It's harder to start a project, eg you need to write more code to see some result, but after write the core classes it is more simple to extend and maintain. Maybe you can just create a mini app with just 2 fields: id name , with dbnav/edit-buttons. Yup. This one, a wiki and a tutorial are in the plans. BTW, as I said, the MVP would be great for a disconnected presentation layer like in web development, so it would be really useful to have an MVP to WebPresentation proxy. Does your MVP include this feature? No web features atm, it is included in the 2.0 roadmap though. Great. Keep us posted. Sure. Can you give a more complete example based on a simple TPerson db with 2 fields: id, name === I think I have fixed this annoying issue. Just place $M+/$M- around the forward class declaration, or include a $M+ on the top of the unit. Still doesn't work. But I just moved the default published fields into public and it compiles and runs, but then I get this dialog: No service 'Messages' assigned or registered So I turn {$DEFINE UsePressOPF} on and then I get this ../Press/Source/Brokers/PressSQLdbBroker.pas(48,16) Error: Identifier not found "TSQLConnector" I think this is even more off topic here. Would you mind to move questions directly to me, or to the support mailing list so others interested in this thread can follow. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Al Boldi wrote: Joao Morais wrote: Al Boldi wrote: Of course you are not caching any relational data, but you said that you are using a connection broker to the rdb, which caches the rdb data, which means extra overhead. Hmmm... the rdb or the suite that access the rdb caching data means extra resource usage I think, on behalf of performance. Exactly. But you wouldn't want to do this caching twice. I think my comment wasn't fair. First: the suite doesn't cache data, the OPF opens an unidirectional dataset, read all records and release it. The connection manager has the ability to prepare and unprepare datasets, but this feature wasn't implemented yet (iirc). Database does cache and I personally don't mind. If you don't want db cache (??), you just need to change its configuration. Ok, I had a quick look through the docs, and it seems that you have the design tightly coupled to the MVP. The MVP _is_ the design, or even better, is the presentation framework. Oh, I meant the OPF design. Is it possible to isolate the OPF from the MVP? Ah yes, they are completely decoupled. You can: var VClient: TClient; VClientList: TPressProxyList; begin VClient := TClient.Create; // or VClient := TClient.Retrieve('1'); // or VClientList := PressOPFService.OQLQuery( 'select * from TClient where name = ''SomeName'''); if VClientList.Count > 0 then VClient := VClientList[0].Instance as TClient; // or use a query class // and then VClient.Name := 'AnotherName'; VClient.Store; VClient.Free; // with respective try/finally, of course end; Is there a way to directly attach LCL objects to your OPF? You don't need to do this. Eg: create a form without code or non-visual components, bind BO attributes and components in a single line, and the MVP will do the rest for you using informations from the model. Sure, this is great when you are working with a disconnected presentation layer like a web interface. But for native apps, you don't need this, because your presentation layer is already connected to your model via TForm. So what we need is for a TForm to directly connect to the OPF without going through the redundant MVP framework. Is this possible? Redundand!? No, no! You simply cannot compare a form with three combos and two grids between dbware and mvp approaches. The former will eat five groups of data access components, shortcuts to include some funcionality and a lot of time to configure and debug everything. MVP will eat five lines of code, nothing more. The same model that will manage this controls, will also generate the DDL necessary to build the database metadata for you. BTW, as I said, the MVP would be great for a disconnected presentation layer like in web development, so it would be really useful to have an MVP to WebPresentation proxy. Does your MVP include this feature? No web features atm, it is included in the 2.0 roadmap though. Also, I tried to compile the demo, but it gives this error: ObjectModel.pas(23,3) Error: Only class which are compiled in $M+ mode can be published I think I have fixed this annoying issue. Just place $M+/$M- around the forward class declaration, or include a $M+ on the top of the unit. Notes: There are known issues with combobox and the F2 shortcut that I have not workarounded to the LCL interface (VCL interface is nice). They are registered in the Lazarus tracker. I am refactoring the demo app in order to use some new features, take a look at the project page now and then. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Al Boldi wrote: The problem with this is that, the proper construction of the OOrdb cache manager is critically dependent on the native access to the dbAPI. Otherwise you may be hindered by the dual-cache problem. No, only one cache that references objects. No relational data is cached, just some datasets. Of course you are not caching any relational data, but you said that you are using a connection broker to the rdb, which caches the rdb data, which means extra overhead. Hmmm... the rdb or the suite that access the rdb caching data means extra resource usage I think, on behalf of performance. Sure. Can you give us a link to a tarball? Sure. A 'zipball': http://pressobjects.org/snapshot/press-snapshot-20071103-r706.zip or subversion: https://pressobjects.svn.sourceforge.net/svnroot/pressobjects/trunk Ok, I had a quick look through the docs, and it seems that you have the design tightly coupled to the MVP. The MVP _is_ the design, or even better, is the presentation framework. Is there a way to directly attach LCL objects to your OPF? You don't need to do this. Eg: create a form without code or non-visual components, bind BO attributes and components in a single line, and the MVP will do the rest for you using informations from the model. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Al Boldi wrote: Joao Morais wrote: 1. the real bottleneck is in the database and in the network; Correct. Let's call this the server-side, which isn't under our control. Sometimes it is, eg building smart DMLs and smart strategies to retrieve data, using prepared statements when possible, and so on. Then comes the client-side, which we can control. Improvements in the client side sometimes doesn't worth the effort. If, lets say, 90% of the time is in the server side and the network, a perfect client side would increase 10% of the performance. The side effect is the complexity to maintain and extend the code. Other improvements that can be made regarding performance is creating threads to perform some slow tasks in the background, while the application answer some key or mouse events of the user. Where is the data cached? Attributes belong to business objects. BOs are reference counted and the ones that wasn't removed from the memory are referenced by a cache that belongs to the persistence service. 3.lazy loading of objects and attributes mixed with bulk retrieving. And how does the app access this object-data? Retrieving its OID through the persistence service. This service will query the cache (binary tree -- todo list) in order to know if the object was already instantiated. If it exist, its address is returned, otherwise the persistence (xml, database, whatever) is queried in order to retrieve information to instantiate such object. and the way to remove it is writing a connection broker that doesn't depend of a db suite like SQLdb or Zeos, and that doesn't depend of the tdataset as well. If you do it this way, then you are actually implementing proxies, and proxies should not be used unless there is a need for them like for border-gateways, because proxies add overhead. I think you meant wrappers. And yes, wrappers to SQLdbs are necessary in this case, because implement wrappers to database API at this stage of the project demands an effort that I would like to use to other more important tasks like tests, docs and the expert. The problem with this is that, the proper construction of the OOrdb cache manager is critically dependent on the native access to the dbAPI. Otherwise you may be hindered by the dual-cache problem. No, only one cache that references objects. No relational data is cached, just some datasets. What you may want to try is to refactor the OPF, dataBroker, and dbConnectionLib into their respective layering components, and then recompose a native OPF wrapper based on those layering components. This should give a decoupled system while maintaining native performance. Perhaps what you are proposing is something I have already implemented. I don't use any db* class and have created an abstract data access to improve speed as much as possible (or as I can) -- writing wrappers to database APIs in future versions. Have a look in the code. Sure. Can you give us a link to a tarball? Sure. A 'zipball': http://pressobjects.org/snapshot/press-snapshot-20071103-r706.zip or subversion: https://pressobjects.svn.sourceforge.net/svnroot/pressobjects/trunk -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Al Boldi wrote: do object cache, lazy loading, bulk retrieving, etc. That's where things become interesting, because you have to figure out how to interface with your non-OO db, aka relational-DB, without incurring any duplicate overhead. Interesting and amusing. an OPF should not be considered an independent layer, but rather as a wrapper/converter/adapter to the non-OO db, An OPF and its connection brokers consist of an independent layer that binds objects of an oo model and a storage mechanism. A small overhead do exist actually, I don't think it's small, unless you mean small apps which deal with textual data only. For large apps that deal with blobs, the overhead may bring down your system. No, small overhead even to applications that handle large objects. There are three points to consider: 1. the real bottleneck is in the database and in the network; 2. moving data between layers doesn't mean big overhead due to refcount of ansistrings or other managed objects; 3. lazy loading of objects and attributes mixed with bulk retrieving. and the way to remove it is writing a connection broker that doesn't depend of a db suite like SQLdb or Zeos, and that doesn't depend of the tdataset as well. If you do it this way, then you are actually implementing proxies, and proxies should not be used unless there is a need for them like for border-gateways, because proxies add overhead. I think you meant wrappers. And yes, wrappers to SQLdbs are necessary in this case, because implement wrappers to database API at this stage of the project demands an effort that I would like to use to other more important tasks like tests, docs and the expert. What you may want to try is to refactor the OPF, dataBroker, and dbConnectionLib into their respective layering components, and then recompose a native OPF wrapper based on those layering components. This should give a decoupled system while maintaining native performance. Perhaps what you are proposing is something I have already implemented. I don't use any db* class and have created an abstract data access to improve speed as much as possible (or as I can) -- writing wrappers to database APIs in future versions. Have a look in the code. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Al Boldi wrote: You see, trying to create an OPF as a separate layer that connects to the db via a broker is just broken by design, as this will introduce a tremendous overhead due to the dual caching problem. I agree with you that this will cause some overhead, but it is not as much as you figured. The main bottleneck of an OPF is the database access, how the OPF builds DMLs, do object cache, lazy loading, bulk retrieving, etc. In fact, the correct way forward seems to be to implement the OPF as the broker, just like you implement the broker against a specific db-lib. What you get is a db specific OPF that wraps the broker inside it in a native fashion. If I understood you correctly, this means build an OPF tied to an specific database, and this isn't a nice approach. In the current design I have: user <-> mvp <-> data type <-> opf engine broker <-> connection broker (tied with) db engine You can change every part without changing the others. A small overhead do exist actually, and the way to remove it is writing a connection broker that doesn't depend of a db suite like SQLdb or Zeos, and that doesn't depend of the tdataset as well. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Al Boldi wrote: Joao Morais wrote: I am currently working in an IO-like project with a smarter, faster and more customizable OPF engine, decoupled frameworks (after all data type and opf aren't the same thing), no dbware or tdataset dependency, and the best item: no backward compatibility to bother. www.pressobjects.org Sounds great! Does your OPF handle data storage natively? The OPF just creates DDLs and DMLs based on an object oriented model, built over a data type framework. The DDLs and DMLs are sent to the database through a connection broker, built against Zeos, UIB, SQLdb (and also DOA and IBX when compiled with Delphi). Native access is in the 2.0 roadmap. Let me know if this answer your question. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Lazarus and InstantObjects ?
Bogusław Brandys wrote: What is the current state of InstantObjects port to FreePascal ? Could we port it totally to use it with Lazarus also ? I'm interested in it but need a fresh look what was done and what is missing (especially missing features of fpc/lazarus which are critical to port it completely). The win32 fpc can (should) compile the runtime stuff of IO, but the project has some issues regarding portability (some casts from pointer to integer comes to mind). The design stuff is coupled with Borland's OTA, need almost to be rewritten from scratch. I am currently working in an IO-like project with a smarter, faster and more customizable OPF engine, decoupled frameworks (after all data type and opf aren't the same thing), no dbware or tdataset dependency, and the best item: no backward compatibility to bother. www.pressobjects.org -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Free method of any object didn't executes.
12 12 wrote: For example i do the following: Ser := TSerie.Create(Chart1); Ser.Free; I set breakpoint in implementation of TSerie.Destroy. Neither the debugger stops on breakpoint nor the debugger steps into implementation of Free or Destroy. Is it bug or "feature" ? Perhaps you didn't place an override; after the destroy declaration neither saw the warning the compiler issued to you. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Delphi Source/Samples/*.pas units
Graeme Geldenhuys wrote: I'll try and find a support email for CodeGear and see what they say. Try borland.public.delphi.non-technical at newsgroups.borland.com. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] report writer 4 Lazarus?
Graeme Geldenhuys wrote: I needed to report from Objects Does LazReport support something like that? Provided that you write a lot of code, yes. Variables can be initialized with object member names, TUserDataset decendants can be created in order to reference container members, OnNeedValue event can be used to convert that object member name to the real value. (Umm, not sure if I asked this before?) You did, and I said PressObjects implements such approach against Fast and FreeReport. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] VOOE Programming.
Bram Kuijvenhoven wrote: Dave Coventry wrote: I have advised a Visual Basic user of the merits of Lazarus and he asked "Yes, but can it do VOOE programming". Actually, I don't know what VOOE programming is ;), but I thought I'd pose the question anyhow Well maybe it's 'Visual Object Oriented Engineering' --- e.g. drag & drop your UML diagrams and automagically generate the code from it. I didn't know that was a feature of VB though ;) This is the PressObjects (www.pressobjects.org) proposal: import a model, the SDK convert the model to class metadatas and generate the code. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] "Emulate" Php Md5 (Crypt) and Sha1
Alvise Nicoletti wrote: Hi to all... did anyone never heard how to implement crypt and sha1 functions of php inside delphi/lazarus? My problem is the "salt" used in the crypt function, cause I'm already able to create a md5 succesfully... That is an example of code about them in php: define ("CRYPT_MD5",1); [...] $c=crypt($pg,$s); // CRYPT DI pg in base a s $code=sha1($TEXT.$DEST) fpc has an md5 unit. Don't know about sha1, look for Delphi Encryption Compendium. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Wince windows crosscompile installer
Alvise Nicoletti wrote: My boss don't pays me to compile my IDE, but to produce software, so he got a lot nervous every time a new library for Lazarus cames out, cause I often have to reinstall everything (like it's happening now with the new version of lnet created by Ales Katona that requires the lastest fpc to compile. So don't install the IDE, but download the fpc and lazarus from the sources plus the fpcbuild repository, compile both projects (just a "make clean all" in the console), create a shortcut and enjoy. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Using interfaces to get compiler warnings
Michael Van Canneyt wrote: On Tue, 26 Jun 2007, Graeme Geldenhuys wrote: On 26/06/07, Michael Van Canneyt <[EMAIL PROTECTED]> wrote: The compiler warns you if you create an instance of a class with uninmplemented abstract methods. It even tells you which ones: It warns you yes, but doesn't prevent you from continuing. So you can still get a runtime error when you application is doing it's job. Delphi, I believe does the same think - but I think even worse, by not even warning you. I think we could try to make this an error - using some switch. It wont prevent you from using a class reference to instantiate an abstract class. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Using interfaces to get compiler warnings
Graeme Geldenhuys wrote: On 26/06/07, Michael Van Canneyt <[EMAIL PROTECTED]> wrote: The compiler warns you if you create an instance of a class with uninmplemented abstract methods. It even tells you which ones: It warns you yes, but doesn't prevent you from continuing. So you can still get a runtime error when you application is doing it's job. Delphi, I believe does the same think - but I think even worse, by not even warning you. Delphi warns if you create an instance from a class with abstract methods, and doesn't warn if you are using a class reference because the compiler cannot know which class is being instantiated. Just like fpc does. I want to prevent developers from not implementing a method and standing the chance of getting a runtime error. Interfaces seem to be the only way to get this behavior? Yes, but this approach will work properly only if you change your instance references from classes to interfaces. I don't mind if the developer implements blank methods, but at least it forces them to pay attention. I have worked with developers that never seem to look at the Messages window!! The problem is in the developer, not in your code =) -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] combobox.clear under win32 clears text property
Hello, Whenever I call ComboBox.Items.Clear under win32, the text property is also cleared. This is not consistent with gtk1 neither d5, where the text property stays untouched. The problem is in the following line: Windows.SendMessage(FWin32List, FFlagResetContent, 0, 0); declared in the TWin32ListStringList.Clear method, win32listsl.inc file. Is there something that could be improved here? Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Combo.OnClick
Luiz Americo Pereira Camara wrote: Joao Morais wrote: OnClick doesn't mean exactly a click, you have OnMouseDown to accompish this. OnClick means that the user sent information to the control, and this doesn't happen when he open a combo (not usually). Did you tried OnSelect? Hei, nice event, I can use it under ifdef fpc, otherwise onclick does the trick (btw it doesn't exist in D5). Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Combo.OnClick
Felipe Monteiro de Carvalho wrote: On 6/18/07, Joao Morais <[EMAIL PROTECTED]> wrote: This is fired when the text is changed. I need an event that says when the index is changed. I thougth OnChange would do that ... doesn't it activate when you change to another option and it has the same caption as before? I'd say I could survive with OnChange, but it is a bit noisy when using combo whose style is csDropDown. My complaint is because the behavior is different when compared with Delphi. Delphi behaves exactly as I described. Then I think it's unlikely anyone will opose such change. Good news. Maybe we need a Wiki page detailing when the most important events should be activated. Just start implementing it by Gtk, because if a impossibility of implementing it is found with gtk you won't have wasted time making the windows version. It's better to have consistent events then partially compatible, but inconsistent ones. Indeed. I will provide a patch. Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Combo.OnClick
Felipe Monteiro de Carvalho wrote: On 6/18/07, Joao Morais <[EMAIL PROTECTED]> wrote: I would expect onclick fired when the user chooses another option. There is OnChange for that. This is fired when the text is changed. I need an event that says when the index is changed. The onclick event shouldn't be fired when the user opens the combo, there is another event to accomplish this. For me the behavior looks logical. When the user click the control it get's a OnClick. OnClick doesn't mean exactly a click, you have OnMouseDown to accompish this. OnClick means that the user sent information to the control, and this doesn't happen when he open a combo (not usually). In this cases of doubt we usually follow what Delphi does, unless it's impossible to implement the behavior on Gtk. As soon as I have time I will test to see how Delphi handles this. My complaint is because the behavior is different when compared with Delphi. Delphi behaves exactly as I described. Thanks again. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Combo.OnClick
Felipe Monteiro de Carvalho wrote: On which platform are you and what is the expected behavior? win32 and gtk1. I would expect onclick fired when the user chooses another option. This should also happen when the user presses up and down arrow keys (opened and closed combo). The onclick event shouldn't be fired when the user opens the combo, there is another event to accomplish this. Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Combo.OnClick
Joao Morais wrote: Hello, The ComboBox.OnClick event is *being* fired when the user opens the combo and is *not being* fired when the user click on the option (and the combo is closed). Is this a bug or is this by default? Something here? If this is really a bug I can try a fix, otherwise I know I have to write some codes under ifdefs. Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Is the F2 shortcut in a popup menu working?
Graeme Geldenhuys wrote: Oh boy!! I can't even get any keyboard shortcuts working in a popup menu. Just tested it in my application. GTK1 under Linux using Lazarus r11312. :-( So, I'm worse off than you then! Laz 0.9.20 works for me (except F2)! Are you assigning the popup menu and the control (via the popup property)? -- Joao Morais On 15/06/07, Joao Morais <[EMAIL PROTECTED]> wrote: Graeme Geldenhuys wrote: > What platform and widgetset are you using? Linux gtk1, fpc 2.1.4 and lazarus trunk; windows, lazarus 0.9.20. > On 15/06/07, Joao Morais <[EMAIL PROTECTED]> wrote: >> >> Hello, >> >> I have some popup menus assigned to components. Taking all shortcuts I >> have used so far, only the F2 seems to be not working. Something I am >> missing? >> >> Thanks, >> -- >> Joao Morais >> > _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] CodeTools and a GUI Class Builder
Graeme Geldenhuys wrote: On 15/06/07, Joao Morais <[EMAIL PROTECTED]> wrote: This is exactly what I am planning to do. What I have implemented so far: a pascal parser, a code updater and a model that stores project data. Out of interest... Why did you create a new pascal parser and code updater, when CodeTools can already do that plus more for you? Because I need it to D5+ as well, and because it was amusing =) -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] CodeTools and a GUI Class Builder
Graeme Geldenhuys wrote: Has anybody done something like this with CodeTools yet? Creating a GUI Lazarus addon or seperate application that can build or edit classes? I will continue the design stuff for PressObjects presently. I need this SDK running in the Lazarus and Delphi IDE so I created an interface to change the project sources. One unit implement this interface using Borland OTA, another unit implement it using lazideintf. I would like to build such a tool or help someone that already started with such a tool. This would be extremely handy in projects like tiOPF where you need to create hundreds of Business Objects. This is exactly what I am planning to do. What I have implemented so far: a pascal parser, a code updater and a model that stores project data. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] StringGrid.ClientWidth does not count scroll bar
Micha Nelissen wrote: Joao Morais wrote: The ClientWidth method does not count the vertical scroll bar width. Is this by default? This is inconsistent with Delphi, so if this is by default I know I need to implement a workaround =) The ClientWidth is the space available for client controls, no ? The vertical scrollbar occupies some of that space, so it makes sense the ClientWidth is excluding the scrollbar. I thik you mean including the scrollbar. Don't think so. I see a scrollbar like a component finish instead a space to the user. I need to know how many pixels I have to distribute my string grid columns, and a scroll bar will make a mess of my calculations whenever the number of grid lines will be greater than the client height. I'm not sure whether this is on purpose, but for example on gtk, the scrollbar is outside the control usually, but on win32, it's drawn inside the control. Nice point! So what about a standard behavior? (btw my gtk1 and win32 implementations are drawing the scrollbars inside the control) Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] StringGrid.ClientWidth does not count scroll bar
Graeme Geldenhuys wrote: Also note that if you are working with widths in the grids/cells, that the GridLineWidth is 50% implemented. It draws the grid lines based on that value, but then eats into the cell space, which doesn't take into account the GridLineWidth (always assuming 1). I'm aware of this. My implementation works perfectly using vcl. Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Is the F2 shortcut in a popup menu working?
Graeme Geldenhuys wrote: What platform and widgetset are you using? Linux gtk1, fpc 2.1.4 and lazarus trunk; windows, lazarus 0.9.20. On 15/06/07, Joao Morais <[EMAIL PROTECTED]> wrote: Hello, I have some popup menus assigned to components. Taking all shortcuts I have used so far, only the F2 seems to be not working. Something I am missing? Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] StringGrid.ClientWidth does not count scroll bar
Hello, The ClientWidth method does not count the vertical scroll bar width. Is this by default? This is inconsistent with Delphi, so if this is by default I know I need to implement a workaround =) Thanks. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Is the F2 shortcut in a popup menu working?
Hello, I have some popup menus assigned to components. Taking all shortcuts I have used so far, only the F2 seems to be not working. Something I am missing? Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Combo.OnClick
Hello, The ComboBox.OnClick event is *being* fired when the user opens the combo and is *not being* fired when the user click on the option (and the combo is closed). Is this a bug or is this by default? Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Report Tools for Lazarus
Graeme Geldenhuys wrote: On 09/06/07, Joao Morais <[EMAIL PROTECTED]> wrote: I am using FreeReport with Delphi and building reports in runtime against a business class model. I am using a wrapper to the TUserDefinedDataSet (don't remember the exact name) class. This has been This sounds like what ReportBuilder does in Delphi. A very powerful feature for reporting and allows you to report from just about anything. At runtime you inject the data you need and to the reporting engine it looks like a normal Dataset. Does LazReport have that TUserDefinedDataset class? I hope so! =) Since LazReport is based on FreeReport, the answer probably is yes. What I've done with ReportMan is more how QuickReports work. I use a OnLoadData type event to populate the TReportLabel (or whatever it is called) components with data. The reporting engine then handle the report pages and "brought forward" totals for me. I am creating something like a report metadata in runtime, based on the class model. Plain members are converted in fields, plain members from compositions and aggregations are also included as fields, container members and the root BO are included as dataset wrappers. These dataset wrappers are managed by the report broker, the Fast/FreeReport one creates the TfrDataset (this is the name). working very well but wasn't so simple to implement, so, it depends what are you expecting. I take all open source projects with a pinch of salt. I don't expect an easy ride. :-) By the way, easy rides aren't as amusing as a good challenge =) -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Report Tools for Lazarus
Graeme Geldenhuys wrote: On 08/06/07, Michael Van Canneyt <[EMAIL PROTECTED]> wrote: Reportman should also work with Lazarus. (reportman.sourceforge.net) I used Reportman with Kylix and Delphi to great success. I generated reports from Objects, not a Dataset. This worked very well. Can LazReport do this? I am using FreeReport with Delphi and building reports in runtime against a business class model. I am using a wrapper to the TUserDefinedDataSet (don't remember the exact name) class. This has been working very well but wasn't so simple to implement, so, it depends what are you expecting. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Recent SVN lazarus won't compile. Can't find unitcontnrs.
Flávio Etrusco wrote: Your build environment is messed up. Format your partition and reinstall the OS. Alright, just kidding. Partially. IOW perhaps you have more than one compiled contnrs that can be reached by the compiler, and the compiler found the wrong one. -- Joao Morais On 5/26/07, Christian Budde <[EMAIL PROTECTED]> wrote: Hi all, any news/hints on how to compile Lazarus (SVN) with the latest FPC (SVN). I know that the topic was discussed before, but AFAIK only for linux. I have downloaded the latest SVN versions and successfully compiled the compiler (using make clean/cycle/all/install). I also moved the unit directories so that Lazarus do see them. But compiling Lazarus (make all) result in the compiler message 'Can't find unit contnrs' Any hints? Thanks in advance, Christian _ 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] TControl and public Color property???
Graeme Geldenhuys wrote: On 5/7/07, Joao Morais <[EMAIL PROTECTED]> wrote: > An advantage of having it public, is that you can pass a TControl to the > widget interface and it can access the Color property without resorting > to cast to decendants. I don't know if this technique is actually used > though. There are several properties where this feature would be welcome, eg tcustomedit.text, tcustomcheckbox.checked, but you can use the following workaround when necessary: type tcustomeditfriend = class(tcustomedit); ... tcustomeditfriend(edit).edit := 'value'; I agree... And if you are going to use it often, create a local variable of the 'friend' class so you only need to cast once. Not a good idea if you have inheritance: twincontrol control: twincontrolfriend tcustomedit control: tcustomeditfriend ... tcustomeditfriend.getcontrol begin result := inherited control as tcustomeditfriend; // problem here end; I write many cross compiler (FPC and Delphi) code and keep breaking the builds under Delphi due to the differences between LCL and VCL. Yup. This is exactly my headackes. Cross FPC x Delphi and VCL x LCL code. Anyway both fpc and lazarus team are doing an exceptional job regarding compatibility. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] TControl and public Color property???
Vincent Snijders wrote: Joao Morais schreef: Vincent Snijders wrote: An advantage of having it public, is that you can pass a TControl to the widget interface and it can access the Color property without resorting to cast to decendants. I don't know if this technique is actually used though. There are several properties where this feature would be welcome, eg tcustomedit.text, tcustomcheckbox.checked, but you can use the following workaround when necessary: Which I consider a hack, A hack or Object Pascal class-friendship? which should be necessary if you have the ownership of the source of tcustomchecbox. Sorry? -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] TControl and public Color property???
Vincent Snijders wrote: Graeme Geldenhuys schreef: On 5/6/07, Michael Van Canneyt <[EMAIL PROTECTED]> wrote: TControl non visual ?? How is that ? TLabel or TImage are very visual... Non-windowed, you mean ? Ah ok, I got it mixed up. :-) Either way, the LCL still has the Color property as 'public' instead of 'protected'. An advantage of having it public, is that you can pass a TControl to the widget interface and it can access the Color property without resorting to cast to decendants. I don't know if this technique is actually used though. There are several properties where this feature would be welcome, eg tcustomedit.text, tcustomcheckbox.checked, but you can use the following workaround when necessary: type tcustomeditfriend = class(tcustomedit); ... tcustomeditfriend(edit).edit := 'value'; -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] [patch] - LCL for fpGUI
Giuliano Colla wrote: svn co http://fpgui.svn.sourceforge.net/svnroot/fpgui/trunk fpgui will work (as opposed to https://) Wouldn't it be wise to note it, to make it as easy as possible? The SF only provide svn access under the https protocol. Maybe they claim that, but I just changed *https* in *http* in the command line (much faster than getting the sources and recompiling svn ;-)), and I got the fpgui. Good to know. I've tried this approach a while ago and it didn't work. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] [patch] - LCL for fpGUI
Graeme Geldenhuys wrote: I thought all command line svn clients support 'https' as it is part of the ra_dav RA module. The svn need to be compiled with --with-ssl. Try the following command: svn --version Some distributions (such as RHEL 3) provide an svn version which doesn't support SSL. In that case the line provided in the Wiki won't work, while svn co http://fpgui.svn.sourceforge.net/svnroot/fpgui/trunk fpgui will work (as opposed to https://) Wouldn't it be wise to note it, to make it as easy as possible? The SF only provide svn access under the https protocol. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: fpgui and lcl bare minimum diff
Felipe Monteiro de Carvalho wrote: On 4/9/07, Mattias Gaertner <[EMAIL PROTECTED]> wrote: That's what I meant. fpGui is creating a unit circle with StyleManager. And even worse: it uses inlines. Break the circles and the error will vanish. Can you elaborate some more? What do you mean by inlines? My current guess is that you mean that fpgui has a big unit circle, like this: unit a references unit b on interface unit b references unit c on interface unit c references unit a on interface This is invalid, it is impossible to compile object pascal code if exist circular reference call when all involved units are declared in the interface section. Using several units inside circular reference in the implementation section only means more memory usage to compile such units. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Anybody on this list use Firebird database with Lazarus?
[EMAIL PROTECTED] wrote: try with http://www.progdigy.com/modules.php?name=UIB, support Lazarus and works fine for Firebird, Interbase and Yaffil. You have also ZeosLib - http://zeos.firmos.at El jue, 29-03-2007 a las 10:23 -0500, Howard Lee Harkness escribió: Anybody on this list use Firebird database with Lazarus? I'm looking for general information on this, and I ran into a dead end while trying to find the ODBC drivers, so I'm hoping somebody here has found a better way -- or knows where to find those drivers. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Expert for Lazarus
Mattias Gaertner wrote: On Sun, 28 Jan 2007 11:50:47 -0200 Joao Morais <[EMAIL PROTECTED]> wrote: Hello, About changing source code, afaics I have access to an specific source file using srceditorintf.SourceEditorWindow.SourceEditorIntfWithFileName('someunit.pas'). Inside the TSourceEditorInterface class I have tons of methods used to change the sources. Please point out some hints that I can follow to make safe changes to them. They are safe. Maybe with the exception: Replacing text, moves source marks. Let's say I need to include one line with "This new line" and remove three lines. I can use Position or Line+Column values. The line need to be included between lines 5 and 6, or after the position 120. The lines I need to remove are 12, 13 and 14 (now 13, 14 and 15 because of the new line). If using the Position approach, characters between position 250 and 300, including the last breakline (now between 264 and 314 because of the new line + #10). About events, where should I look for beforecompile, aftersave and another ide events? They don't exist yet. What events do you need exactly? 'BeforeCompile' is too unspecific, because there are dozens actions between pressing F9 and the real execution of the compiler (e.g. state checks, auto saves, file checks, auto updates of resource files, dependency checks, saves, builds, running before compilation tools). I need to parse some units whenever: 1. the user choose to save the sources -- before or after save -- provided that what he is seeing in the editor is received by the parser; 2. before the project is going to be built by fpc, before or after checks and savings. A var parameter saying Abort: Boolean would be welcome, otherwise I can raise an exception if necessary. Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Expert for Lazarus
Hello, About changing source code, afaics I have access to an specific source file using srceditorintf.SourceEditorWindow.SourceEditorIntfWithFileName('someunit.pas'). Inside the TSourceEditorInterface class I have tons of methods used to change the sources. Please point out some hints that I can follow to make safe changes to them. About events, where should I look for beforecompile, aftersave and another ide events? Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] ComboBox issues
Hello, I have observed the following behaviors in the ComboBox component: - the OnExit event (ComboBox and all other components) is triggered whenever I change the focus to another form (including another application) -- without changing the focus from one control to another in the same form. Is this behavior correct? - the ComboBox.DropDown doesn't work under win32. It sounds that it isn't implemented, but perhaps just need one line somewhere... - and the DropDown works under gtk but someone, somewhere, thinks that the combo wasn't opened -- if the combo is opened via DropDown, pressing Enter to select an item doesn't close it, and if I change the focus to another control (in the same form) or another form/application, the combo will continue there. BTW I'd like to send a patch instead bothering you, but I need more time to learn the internals of the lcl. Perhaps the next issue... Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] turboCASH on Lazarus "proof of concept"
Michael Van Canneyt wrote: On Fri, 10 Mar 2006, Joao Morais wrote: Michael Van Canneyt wrote: I'm currently writing specs for a 'serious' application (a grade tracker for teachers) which will use (embedded) firebird as a back-end database, which will be using tiOPF or InstantObjects and LazReport - all this in Lazarus. This is a commercial application, I'm telling this to show our trust in Lazarus. I'll continue the port of the InstantObjects framework to FPC just after v2.0 is out, let me know if you need something (or let me know when you start something). Database storage using SQLDB or ZeosLib is on the top of the list. Anyway let me know when you start something on behalf of IO (here or at IO's development ng) due to avoid duplicate effort. Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] turboCASH on Lazarus "proof of concept"
Michael Van Canneyt wrote: I'm currently writing specs for a 'serious' application (a grade tracker for teachers) which will use (embedded) firebird as a back-end database, which will be using tiOPF or InstantObjects and LazReport - all this in Lazarus. This is a commercial application, I'm telling this to show our trust in Lazarus. I'll continue the port of the InstantObjects framework to FPC just after v2.0 is out, let me know if you need something (or let me know when you start something). -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Shortcut sugestions
Micha Nelissen wrote: On Thu, 01 Sep 2005 07:35:09 -0300 Joao Morais <[EMAIL PROTECTED]> wrote: Hi all, I cannot use some usefull (IMHO) shortcuts like F12 to change between Form and Editor (Editor->Form doesn't work) and F11 to change between Object Inspector and (Form or Editor -> last focused), this last case F11 doesn't work in OI. Another sugestion is a shortcut to focus main window (Alt+Letter would be perfect, but a simple key, like F10, will help as well). What version are you using ? What platform ? All these things work for me (on windows xp). Linux, last weekend svn (to Lazarus and FPC). Well, F12 is working to change from editor to form only after I click inside editor. The editor window has the focus (caption is highlighted), but text area doesn't have (this behavior can be reproduced just after start Lazarus IDE). F11 from Object Inspector, F10 or Alt+Letter doesn't work with me. -- João Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Strange behavior in save confirmation
Hi, IMHO something is a bit strange in save confirmation. If Save Yes/No/Cancel is confirmed, and any unit is not saved (Cancel button is used in save dialog), whole project is closed anyway (even if I have unsaved units). In my opinion, to close a project, all units must be confirmed (saved), or user needs to answer No when prompted to Save it. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Shortcut sugestions
Hi all, I cannot use some usefull (IMHO) shortcuts like F12 to change between Form and Editor (Editor->Form doesn't work) and F11 to change between Object Inspector and (Form or Editor -> last focused), this last case F11 doesn't work in OI. Another sugestion is a shortcut to focus main window (Alt+Letter would be perfect, but a simple key, like F10, will help as well). Thank you, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Segmentation fault starting Lazarus
Mattias Gaertner wrote: Could you make a backtrace please. Instead of continue, use backtrace here. Hi Mattias, Are you saying something like this? = (gdb) run Starting program: /lpdata/programas/svnfpc/lazarus/startlazarus Program received signal SIGSEGV, Segmentation fault. 0x40001078 in ?? () (gdb) bt #0 0x40001078 in ?? () #1 0x4000d4c8 in ?? () #2 0x400031a3 in ?? () #3 0x4e15 in ?? () (gdb) bt full #0 0x40001078 in ?? () No symbol table info available. #1 0x4000d4c8 in ?? () No symbol table info available. #2 0x400031a3 in ?? () No symbol table info available. #3 0x4e15 in ?? () No symbol table info available. (gdb) = -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Segmentation fault starting Lazarus
Hi, I downloaded all FPC and Lazarus project (svn), succesful compiled the compiler and Lazarus, but Lazarus binary doesn't works. Here is command-line and gdb results: = [EMAIL PROTECTED] lazarus]$ ./startlazarus Falha de segmentação (core dumped) [EMAIL PROTECTED] lazarus]$ gdb startlazarus GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... (gdb) run Starting program: /lpdata/programas/svnfpc/lazarus/startlazarus Program received signal SIGSEGV, Segmentation fault. 0x40001078 in ?? () (gdb) cont Continuing. Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. (gdb) q [EMAIL PROTECTED] lazarus]$ = Lazarus problem, fpc problem or maybe I'm doing something wrong? (yesterday and today svn, same problem) Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Problem compiling under linux
Darius Blaszijk wrote: Hi, I am in the process of switching from windows to linux, and I'm experiencing problems compiling lazarus. I have checked out the latest lazarus version and installed a binary FPC 2.0.0. The error message I'm getting is the following; winapih.inc(272,1) Error: Procedure type INLINE not supported Try to include a line with "-Si" (without quotes) in your /etc/fpc.cfg config file. -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Using XML-RPC with Lazarus/FPC ...
Sebastian Günther wrote: Thomas Zastrow schrieb: Hello, I see that there seems to be XML-RPC-functionality comming with FPC (under \fpcsrc\fcl\net there are some units which are dealing with XML-RPC). I need to write a little XML-RPC-Client and don't want to do that in Java ... ;-) Perhaps somebody can give a little example or some tips how to build an XML-RPC-client in Lazarus??? I found no documentation about the units ... It's not really easy to do; actually only using the XML-RPC server stuff is recommended to use within FPC (but not with Lazarus, it requires the old fpAsync architecture). A new version is in work and (hopefully!) is ready to go soon. Hi Sebastian, Plans to include SOAP? Thanks, -- Joao Morais _ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives