Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
migrate my Intraweb 14.0.36_20141215 sources Delphi XE5 to delphi ToKyo 10.2.
#1
Hello,
I need to migrate my Intraweb 14.0.36_20141215 sources Delphi XE5 to delphi ToKyo 10.2.
There are several problems that I would like to solve without hacking.
the first:
Code:
Unit InGlobal
function InterlockedCompareExchangePtr(var VTarget: Pointer; const AValue, Compare: Pointer): Pointer;
{$IFNDEF DYNAMICLOAD_InterlockedCompareExchange}
 {$IFDEF USE_INLINE}inline;{$ENDIF}
{$ENDIF}
begin
 {$IFDEF DYNAMICLOAD_InterlockedCompareExchange}
 Result := Pointer(InGlobal.InterlockedCompareExchange(PtrInt(VTarget), PtrInt(AValue), PtrInt(Compare)));
 {$ELSE}
   {$IFDEF HAS_TInterlocked}
 Result := TInterlocked.CompareExchange(VTarget, AValue, Compare);
   {$ELSE}
     {$IFDEF HAS_InterlockedCompareExchangePointer}<= Comment on définit ?<3>
 Result := InterlockedCompareExchangePointer(VTarget, AValue, Compare); peut-être bon<2>
     {$ELSE}
       {$IFDEF HAS_InterlockedCompareExchange_Pointers}
       //work around a conflicting definition for InterlockedCompareExchange
 Result := {$IFDEF FPC}system.{$ENDIF}InterlockedCompareExchange(VTarget, AValue, Compare);KO< 1>
       {$ELSE}
         {$IFDEF FPC}
 Result := Pointer(
   {$IFDEF CPU64}InterlockedCompareExchange64{$ELSE}InterlockedCompareExchange{$ENDIF}
   (PtrInt(VTarget), PtrInt(AValue), PtrInt(Compare))
    );
         {$ELSE}
 // Delphi 64-bit is handled by HAS_InterlockedCompareExchangePointer
 Result := Pointer(InterlockedCompareExchange(Longint(VTarget), Longint(AValue), Longint(Compare)));
         {$ENDIF}
       {$ENDIF}
     {$ENDIF}
   {$ENDIF}
 {$ENDIF}
end;

<1> KO. I understand
<2> perhaps good
<3> how to force the directive:
Code:
HAS_InterlockedCompareExchangePointer
and is it the good method?

Regards

André Manin
Reply
#2
In is an Indy unit. I would suggest to ask on the Indy forums which are also on this server.

Most Indy directives are predefined for you based on the compiler version.
Reply
#3
I will save you a lot of work: That's not possible. Design time units are not deployed and you can't rebuild IntraWeb packages from sources.
Reply
#4
At least not across compiler versions correct...

I missed the first part of the original message and just saw the code.

To update to 10.2 you will need to use an IW release that specifically supports 10.2.
Reply
#5
Alexandre Machado Wrote:I will save you a lot of work: That's not possible. Design time units are not deployed and you can't rebuild IntraWeb packages from sources.

Hello,
what is the point of buying a license with the sources?
In addition it lacks 2 unit minimum in my sources:
   IW.Common.CopyParser
   IW.Common.NativeXML,
I will have a lot to like at the very least to have the sources complete.
for now I have only the problem of these missing files, is there a way to get them?
Regards.

André Manin

(04-05-2018, 07:38 AM)Alexandre Machado Wrote: I will save you a lot of work: That's not possible. Design time units are not deployed and you can't rebuild IntraWeb packages from sources.

Hello,

We bought and downloaded the sources. Can you tell me what the package is: Intraweb_14_DXE7.dpk.

Regards

André Manin
Reply
#6
Intraweb_14_DXE7.dpk is for Delphi XE7.

Most source ships, but not every piece due to:

1) A few small units that are not ours and we do not have a license to redistro.
2) Licensing units to prevent easy keygens.

What ships as sources is ~97% of the runtime source. This allows changes and recompilation against supported versions of the IDE, but not newer IDEs.

Even if you had full source recompiling would still leave you without security patches and other upgrades.

If you want a one time update and you have a previous Ultimate, you can consider the 30 day instant update option which is significantly cheaper than a full year, but really the full year is a much better value.
Reply
#7
"what is the point of buying a license with the sources?"

The point is that with source you can recompile against supported IDEs at the time, fix bugs, modify source and more.


You cannot move to IDEs released *years* after your release because Delphi does not have binary compatibility between versions.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)