Menu

Debugging and Compilation Help Needed

2010-03-24
2013-03-06
  • edward_silicon

    edward_silicon - 2010-03-24

    Hello,

    I'd like to help identify and troubleshoot some of the bugs that I am encountering on Windows 7 x64, but I have zero experience with Delphi projects.  Do the developers have any documentation that steps through the compilation process (including software and versions needed to build)?  I've read the _How to compile DBDesigner4.txt file distributed with the source code but it seems to be a bit old.  I tried following these instructions with the Delphi 2010 trial version I just downloaded to see if I could build the software and try to debug some "access violation" errors I am getting.  Unfortunately I get quite a few errors when attempting to build and get nowhere.  Will this software only build with Delphi 7?  How about building with the open source Lazarus IDE?

    Best regards,

    Sam

     
  • Joao Paulo Schwarz Schuler

    Dear Sam,
    thanks for trying to compile. But you need Delphi 7 for it. It does not compile in newer versions of Delphi. With Delphi 7 Professional or Kylix 3 (the paid version) should be very simple to compile (from the SVN source code). We tried to port twice from Delphi 7 and we gave up twice. It may be the case that we haven't tried enough.

    In the case you want to port to Lazarus, I wish you all the luck.

    Kind regards, JP.

     
  • edward_silicon

    edward_silicon - 2010-03-26

    Hi JP,

    Thanks for the quick reply on my question.  Your response certainly cleared things up for me.  Unfortunately I can't really afford to purchase a copy of Delphi 7 right now to build the software.  Plus, that version of Delphi seems to be getting harder and harder to find for purchase.

    Because of this I am going to attempt to port to Lazarus as I get time over the next few weeks.  It would be great if we could get the software to build with Lazarus as it would open the project up to wider community participation, especially for those of us who don't have a copy of Delphi 7.  I would really love to see this project continue to grow.  I have been using the software (including the original pre-fork version) off and on for the last few years and it is still my favorite database design / layout software.

    I'll post my progress here on the forum along with any questions that come up.  I'm sure that I'll have a bunch :).

    Best regards,

    Sam

     
  • Joao Paulo Schwarz Schuler

    Hi Sam.
    I wish you luck. There is 1 big step: convert CLX to FCL. Please make your source code available even if the application is not working. I might end fixing 1 bug here and 1 bug there.

    JP.

     
  • Patrick Nance

    Patrick Nance - 2010-06-09

    Sam,

    Did you ever make much progress porting the project to Lazarus?  I'd love to help this project out a little bit but I'm afraid I'm not willing to make a hefty investment in Delphi 7.

    Thanks,
    Patrick

     
  • edward_silicon

    edward_silicon - 2010-06-09

    Hi Patrick,

    Unfortunately the porting work was sidelined by a urgent project I have been doing at work.  However, I did do a bit of preliminary work on the software (following along with the Lazarus porting guides online).  I was trying to get it to the point where I could open / import the project into Lazarus without it blowing up in my face :).  Give me a couple of days and I'll finish up the preliminary work I was doing so that it will at least open up in Lazarus.  I also need to merge my changes with the latest work that JPSS has been doing.  Once I've done that I'll throw the code out on GitHub and you can take a look at it and fork it if you want.

    I feel the same way that you do, this is a really cool piece of software that I'd like to contribute to but I can't afford to shell out big bucks to buy Delphi 7.  Plus, Delphi 7 is getting rather old…

    Hope that helps!

    Sam

     
  • Andres Ramirez Ramos

    Hi Sam

    Can You throw it as it is in github.
    If it is not finished list the know issues on github, perhaps somebody else, maybe me also, could help a little bit

    I would like to have shorcuts on the menu.

    Sunshavi

     
  • edward_silicon

    edward_silicon - 2010-07-25

    Hi Sunshavi and Patrick,

    First of all I apologize that it took so long for me to release the porting changes I have been working on.  I finally got a chance this weekend to upload the changes to GitHub for everyone to use.  Unfortunately the code will not build yet in Lazarus but you can open the program as a Lazarus project and edit forms, etc…

    You can download / fork the source at my github repo http://github.com/sanelson/dbdesigner-fork

    Or clone it from the command line
    git clone git://github.com/sanelson/dbdesigner-fork.git

    To import the project into Lazarus, open Lazarus and select Project -> New Project From File
    Then open DBDesignerFork.lpr
    Select "Application" for the type of project

    At this point you can try building the project using Run -> Build

    It will start to build and then you will see a bunch of errors with the main form.  I think the form errors should be fairly easy to fix, I just haven't had a chance to work on them.

    I also started a blog post at my website documenting the steps I went through in porting the code if anyone is interested.  It is at:
    http://www.siliconfuture.net/blog/2010/07/porting-db-designer-fork-to-lazarus-and-the-free-pascal-compiler/

    I am going to continue working on this project as I get time but I am rather busy this summer.  If anyone would like to help out, here are some things that need fixing so that the project will build.

    Two modules that are not included with Lazarus that dbdesigner depends on are:
    DBExpress
    XMLDoc

    Code that depends on these needs to be rewritten to utilize Lazarus and FPC equivalents.  It appears that there is some rather good XML handling code included with Lazarus, see http://wiki.lazarus.freepascal.org/XML_Tutorial

    The DBExpress bits will probably be quite a bit harder to implement as this is really the meat of the application.  If anyone has any insight on how to port this part of the application, please let me know.

    There are a couple of other parts of the code that need to be evaluated, but I'm not sure if they are critical.
    QEvent stuff
    SynEdit

    I'm sure I have missed a bunch of stuff in my initial porting work, so if you see anything stupid or obvious that I have done, please let me know.  Feel free to fork the repo on GitHub and make changes as you see fit.  I'll merge any changes in to my repo that you work on.

    That's all I have for now.  Let me know if you have any questions and good luck!

    Best regards,

    Sam

     

Log in to post a comment.