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

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

Reply via email to