I'm working on V6 code to make it .NET compatible. Actually I'm working on the HTTP client component. In that component, there is not much to change to make it compatible with .NET. But there is one annoying change: OnDocData event has a pointer argument and this is defenitely not compatible with .NET. The pointer is actually pointing somewhere into FReceiveBuffer.
I'm not sure how to change the component and the OnDocData to make it compatible with .NET without breaking existing code. Of course I could change the event signature for .NET only. So there would be no problem in win32 and no problem in .NET. But the same application code could not be ported from one platform to the other. Another possibility is to completly change the OnDocData event signature so that it is compatible with both win32 and .NET. This of course would break all existing code. A third possibility is to preserve OnDocData as it is for win32, suppress it for .NET and create a new event for both platforms. Old code would continue to work and yet new code could be written to be the same for both win32 and .NET. Conditional compilation could be introduced to remove the current OnDocData to help make sure new code use only the new event. I think about a new event of type TNotifyEvent (that is no argument except sender). Actual document data could be retrieved either from component runtime properties or copied using a new method (a kind of Receive). Internally, the current implementation use a fixed array of char as receive buffer (FReceiverBuffer). I think about changing it to a dynamic array of bytes which is the best data type for .NET when you need to receive any datatype. You can then transfer data to any variable of any data type. And this code is also quite good in win32. Any opinion ? -- Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be