Odpověď

Jméno:
E-mail:
Předmět:
Ikona zprávy:

Ověření:
Datový typ v Delphi, který má True a False:

Zkratky: stiskněte shift+alt+s pro odeslání nebo shift+alt+p pro prohlédnutí


Shrnutí tématu

Poslal: neo
« kdy: 30-01-2017, 12:25:41 »

Díky, teď už to zaklaplo ... baliky RX přeloženy do 64 bit ... jak XE3 tak XE10.
Poslal: JaroB
« kdy: 30-01-2017, 07:31:59 »

V nastavení projektu na kartě kompileru vybrat volbu "Assignable typed constants"  a nastavit na True.
Poslal: neo
« kdy: 29-01-2017, 18:18:09 »

Tak jsem se zabýval  Delphi XE3 a překladem knihovem do 64-bit. Bohužel výsledek je stejný jako v XE10. Vytvořena zvláštní složka pro 64 bitové balíky, nastaveny příslušná platforma a samostatné složky pro Win64 DCP, DCU a vlastní balíky. Kompilace spadne v jednotce RxVclUtils  na řádku 2379, 2382, 2389, 2401 a 2408 s chybou.

[dcc64 Error] RxVCLUtils.pas(2379) : E2064 Left side cannot be assigned to

procedure StartWait;
begin
  if WaitCount = 0 then
  begin
------------------->>>>>    SaveCursor := Screen.Cursor;
    Screen.Cursor := WaitCursor;
  end;
  Inc(WaitCount);
end;

Zatím jsem nic neopravoval, těch problémových míst může být ve všech jednotkách RX lib více.

To tady opravdu nidko nepoužívá RXlib do 64 bitové aplikace ???
Zatím se mi nechce komponemty RX z aplikace vyhazovat...
Poslal: neo
« kdy: 25-01-2017, 13:35:56 »

Bohužel to ted v XE3 do 64 bit nepřeložím. Při přechodu do XE10 bylo odstraněno několik komponent, které tady zlobí. Takže k RXlib se při kompilaci ani nedostanu
Poslal: neo
« kdy: 25-01-2017, 13:34:13 »

To ano ... jenomže jakýkoliv pokus o překlad do 64bit se nedaří. Čistá kopie RXlib, čísté složky, nastavení pro 64 bit ...
Poslal: pf1957
« kdy: 25-01-2017, 13:32:01 »

[dcc64 Fatal Error] UnList.pas(19): E2213 Bad packaged unit format: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp\Win64\RtmRxCtl240.dcp.RxCurrEdit - Expected version: 31.0, Windows Unicode(x64) Found version: 31.0, Windows Unicode(x86)
Vzdyt to pise jasne: chce 64bitovou verzi souboru a nasel 32bitovou, prelozenou Berlinem
Poslal: neo
« kdy: 25-01-2017, 13:09:25 »

Jdu na to
Poslal: JaroB
« kdy: 25-01-2017, 13:06:18 »

Tak to zkuste, XE3 přece umí taky 64 bit.
Poslal: neo
« kdy: 25-01-2017, 13:05:35 »

Jo vy myslíte překlad do 64 bit v XE3 ????  ten jsem nezkoušel
Poslal: neo
« kdy: 25-01-2017, 13:04:53 »

Tady se to zakousne na řádku v uses na  RxCurrEdit, RxToolEdit,

a nahlásí

[dcc64 Fatal Error] UnList.pas(19): E2213 Bad packaged unit format: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp\Win64\RtmRxCtl240.dcp.RxCurrEdit - Expected version: 31.0, Windows Unicode(x64) Found version: 31.0, Windows Unicode(x86)


Poslal: neo
« kdy: 25-01-2017, 13:03:54 »

unit UnList;

interface

{$I TRIAPP.INC}

uses
  Windows,  SysUtils, Classes,  Graphics, ActnList,
  DBGrids,  Dialogs,  Forms,    ComCtrls, Grids,    Mask,
  Menus,    Controls, StdCtrls, ExtCtrls, IniFiles,
  CommCtrl, RxCurrEdit, RxToolEdit,
  UnGlobal, UnTools,  UnResStr, VirtualTrees;


type
  TSvGridList = class;

  { Servisni objekt pro trideni }
  TSvSortItem = class (TObject)
  private
    FAttributeName    : String;
Poslal: neo
« kdy: 25-01-2017, 13:03:37 »

Ano .. tam jede všechno bez problému ... aplikace má pře 2 milionu řádků ... převod z XE3 do XE10 proběhl bez větších problémů
Poslal: JaroB
« kdy: 25-01-2017, 12:58:35 »

Máte možnost totéž přeložit v XE3?
Poslal: neo
« kdy: 25-01-2017, 12:56:28 »

Jsou vytvořené zvláštní složky pro DCU, DCP i EXE s názvem Win64. Ty jsou zatím prázdné. Delphi si vytvořilo totéž a 64 bitové balíky jsou tam. Cesty v projektu toho příslušného balíku jsou nastavené právě do těchto složek.
Poslal: JaroB
« kdy: 25-01-2017, 12:48:54 »

A jak vypadají adresáře, kam se buildují DCU a kam exe? Původní chyba ukazovala na špatné binárky.