Although I don't know anything about Crystal, I personnaly had to use activeX with PHP.
I dont know if this can be of any help to you, but here it is:
$SecureLink=new COM("SecureLinkActiveX.SecureCnx.1") or die("Impossible to launch ActiveX control");
You have first to run your activeX control,
"$securelink=" : you give a name to this control in order to use it to call the methods of your activeX Control.
"new COM("SecureLinkActiveX.SecureCnx.1") : there you call your activeX control; the name in parenthesis is the name of your activeX control, wich you can find in a file of your activeX control directory , the line should look like this:
Set SecureLink = Server.CreateObject("SecureLinkActiveX.SecureCnx.1")
"or die ("Impossible to launch ActiveX control"); ": this is the message that will be displayed if the command new COM has failed.
Once you've launched the activex control, you can use it's method this way:
$SecureLink->SetItemOptionValue ("ClassID","shoes");
you use the name you gave it, ->the name of the method you want to use, and parameters, if needed, between parenthesis.
Well, that's it. I hope that it will help you, assuming that it was what you asked...
$SecureLink->SetContentServer ("localhost",80,$OfferURL);
$SecureLink->SetKeyFileName ("C:\\export\\flat_O.kf");