in this Image the IDE gives an error message which points to the code pointed out
this is code from calling the C- libcurl DLL
eventually i will probably find it out how to correctly fix it, but if this is obvious to someone of how this should be changed to a correct form
-
drspro2
- VIP Member
- Posts: 124
- Joined: 28 Apr 2006 12:03
vp9 project migrate to vip10
You do not have the required permissions to view the files attached to this post.
-
Martin Meyer
- VIP Member
- Posts: 364
- Joined: 14 Nov 2002 0:01
Re: vp9 project migrate to vip10
The fix is explained in the Visual Prolog 10 Upgrade Notes:
Binary memory representation
Binaries have changed representation. In the old representation a binary was a pointer to the actual data, and immediately before the data the size of the binary was written. Windows API and other external APIs does not use this representation and as a consequence binaries was often had to be copied from the buffer that cntains it to another "buffer" that can hold the size infront of the data. A binary is now represented as a pointer to a memory cell containing a pointer to a data-buffer and the size. So the size is no longer placed in a specific place relative to the actual data. With the old representation uncheckedConvert of a binary to the pointer domain would result in a pointer to the data. With the new representation this is no longer the case and therefore it has been made illegal to uncheckedConvert from binary to pointer, instead you must use convert which will both in old and new representation give a pointer to the data. Alternatively, you can use the extension predicate binary::data() instead, e.g. Pointer = MyBinary:date().
Binary memory representation
Binaries have changed representation. In the old representation a binary was a pointer to the actual data, and immediately before the data the size of the binary was written. Windows API and other external APIs does not use this representation and as a consequence binaries was often had to be copied from the buffer that cntains it to another "buffer" that can hold the size infront of the data. A binary is now represented as a pointer to a memory cell containing a pointer to a data-buffer and the size. So the size is no longer placed in a specific place relative to the actual data. With the old representation uncheckedConvert of a binary to the pointer domain would result in a pointer to the data. With the new representation this is no longer the case and therefore it has been made illegal to uncheckedConvert from binary to pointer, instead you must use convert which will both in old and new representation give a pointer to the data. Alternatively, you can use the extension predicate binary::data() instead, e.g. Pointer = MyBinary:date().
Regards Martin
