I'm trying to create a component (com+) that will read btrieve files. I have it working the problem is that if to users hit the component at the same time it locks up the component. In doing some research I found that I need to stop using the btrcall function and start using the btrcallid function. The latter has a clientID argument. But this is not working well since it doesn't seem to like anything that I send as my client id. (I've tried numbers, window handles, threadID, etc.) Sometimes window handles work but only in the btrieve dev environment and never when it is compliled. Has any one worked with btrcallid before?