Wednesday, December 26, 2012

Oracle DBX Driver

Today I was looking my draft posts in blogger.   I found this one, I actually ran into this a several months ago...

Today, I ran into the following:

Access violation at address 00368099 in module 'dbxora.dll'. Write of address 00000000

It occurs when calling TSqlQuery.Next after retrieving several thousand rows.     I stepped through the Delphi code and found the error actually occurs inside the  dbxora.dll.

I ran the same query in Toad, which works until you scroll to the bottom of the query.   
Then it raises the following message: 
  ORA-01427: single-row subquery returns more than one row

So when I found out the real error was, it was easy to see my mistake and fix the query.

Besides the problem that I created I see the following problems with this story.

  1. received an A/V instead of a valid error message.    
  2. The source code to dbxora.dll is not present which means I don't have a way to change this behavior.

Note: This project was written with Delphi XE Update 1



Thursday, September 20, 2012

CodeRage 7 - Dates and Call for Papers Announced

Today the Call for Papers for Code Rage 7 was just announced.  

This is my favorite event every year.

This year the conference will be 2 weeks.  

  • CodeRage 7 - The Online Delphi Developer Conference -- November 6-8, 2012
  • CodeRage 7 - The Online C++ Developer Conference -- November 13-15, 2012
We typically scheduled a conference room and have my whole team participate in a single room, allowing 
dialog and training for the whole team.

Wednesday, August 15, 2012

FinalBuilder Server replacement Continua CI

For quite some time VSoft Technologies the makers of FinalBuilder have been working on a replacement for FinalBuilder Server, that they had called FindBuilder Server vNext +1.    They just announced a public beta of this new product called Continua CI.

I have played with this software and if your build is not automated it's required to take a look.   If your build is automated it worth taking a look.  For those who have used FinalBuilder Server it will take you by surprise as they are really not alike.    But many things that I had to build special scripts to do with FinalBuilder server are now just taken care of for you.

For example:
The basic architecture of FinalBuilder Server required a dependency on the FinalBuilder desktop product and typically builds would run on a single server.   With Continua CI you now have a server that does nothing more than provide the web interface, and store information about the builds and trigger agents to do the build.    The server and agent can be on the same machine if desired or you could have multiple agents configured with different stages of your build running on each.  

Where I work we have a 25 minute build, test, deploy process that occurs with each commit.    As we look at Continua CI we are rethinking our current build process to span multiple machines with the goal to get this down to the 5-10 minute range, something I think is very possible with this product without a huge effort.

Feel free to read the documentation on the product to get a better understanding of what it offers.  Remember that the product is in beta so the documentation is still a work in process, but it's more than enough to get you going.

But the biggest news that they announced was how it was licensed.   

Out of the box, Free of charge, Continua supports :

Unlimited Users
Unlimited Projects
Unlimited Configurations
1 Local Agent(on the same machine as the server)
1 Concurrent Build. 

After that you can purchase concurrent build licenses. Once you have at least 1 license installed, you can use as many remote agents as you like, agents do not take up licenses, concurrent builds do.

If we use Continua the way we used FinalBuilder Server before it will now cost us $0.  Granted we current have user 12 licenses that we have maintenance on,  so they will convert to 6 concurrent builds licenses.   
Which may be more than we need but I suspect we could use at least 4 and if other teams here use it then we might need quite a few more.

The pricing is right to try, it was fairly easy to setup, and get a CI server going.



Monday, July 9, 2012

Embarcadero - Clang and LLVM

Recently Tim Anderson reported that Embarcadero was going to be using the Clang Compiler in the Rad Studio.   When word broke about Embarcadero using LLVM with Delphi I was quite pleased.   I had been playing around with LLVM learning its IR for quite some time and it is a great tool for most any development language.    However, knowing that they have based there C++ work on the the Clang Compiler is very pleasing to me.    Clang is a very nice C/C++/Objective-C Compiler.

Benefits of the Clang Compiler  
Some of the Benefits of LLVM (I really don't do it justice with my small list)
All of this makes me wonder how much of other things from LLVM that they may end up using all or part of  as  LLDB, KLEE, or VMKit

Now which features of clang and llvm will be exposed in the Embarcadero tool chain is not know yet.   But it's nice to know that there is a good foundation they are building on.    

I guess it might be time to sign up for Priority Preview Access to see this in action.