Конференция "Прочее" » разрядность модулей, работающих в связке под x64
 
  • Чемпаркароке © (20.08.17 14:45) [0]
    есть система х64, разрабатывается приложение работы с БД
    т.е. получается связка PRG.exe - драйвер доступа - клиент БД
    я правильно понимаю, что все они должны быть либо х32, либо х64 ?
    каша из модулей х32 и х64 недопустима, да?
  • KilkennyCat © (20.08.17 15:20) [1]
    в большинстве случаях, когда x32 работает на х64 - допустима.
  • rrrrrr © (20.08.17 15:46) [2]
    в системе должны быть клиентские либы с разрядностью процесса их юзающего.
  • Чемпаркароке © (20.08.17 15:58) [3]

    > KilkennyCat ©   (20.08.17 15:20) [1]

    т.е. прога х32 может пользоваться драйвером х64, который обращается к клиентской библиотеке х32 ?
  • rrrrrr © (20.08.17 16:02) [4]
    т.е. прога х32 может пользоваться драйвером х64, который обращается к клиентской библиотеке х32 ?

    если сможешь сделать так,
    что для дпр выставлен таргет x32 но при нажатиина  ф9
    ты умудришься уговорить линковщик взять 64-битный adodb.dcu
    то как раз будет такая ситуация.

    прога 32, "драйвер" 64 а клиентские либы есть и те и те.
  • rrrrrr © (20.08.17 16:04) [5]
    капец,
    оказывается заморочиться можно на ровном месте любой, вообще любой ерундой.
  • Чемпаркароке © (20.08.17 16:09) [6]

    > ты умудришься уговорить линковщик взять 64-битный adodb.dcu

    вообще-то имелся в виду драйвер, т.е. внешняя библиотека, а не unit из дельфи
  • rrrrrr © (20.08.17 16:10) [7]
    внешняя библиотека это и есть драйвер, он же клиент бд.

    а то что ты назвал драйвером живет в твоем дельфи в виде пасов или дцу.
    и оно никогда не будет отличаться разрядностью от самого экзешника куда их запихивает линковщик.
  • Чемпаркароке © (20.08.17 17:11) [8]

    > rrrrrr ©   (20.08.17 16:10) [7]

    слишком категоричное утверждение, чтобы быть правдой

    простой пример: exe -> dbxfb.dll -> fbclient.dll -> ...


    > драйвер, он же клиент бд

    даже не смешно
    на одной машине драйверов могут быть десятки между прогой и слиентом СУБД
  • Kerk © (20.08.17 17:13) [9]
    Мне удавалось прикрутить 64битный клиент оракла с 32битному приложению и оно работало. Но это... в общем, даже не пробуй.

    Все exe и dll должны быть одинаковой разрядности.
  • rrrrrr © (20.08.17 17:36) [10]
    ой зря ты ему про это рассказал.......
    чувак-то с сурьезным настроем и бъет копытом
  • Чемпаркароке © (20.08.17 17:50) [11]

    > чувак-то с сурьезным настроем и бъет копытом

    в зеркало посмотри

    меня же интересует беспроблемная конфигурация, а не гордиевы узлы
    потому и пытаюсь подводные камни знать заранее, а не методом "уткнемся-разберемся"
  • rrrrrr © (20.08.17 17:56) [12]
    эта ветка
    еще в момент ее появления
    сама по себе
    уже стала ответом на заданный в ней вопрос.
  • rrrrrr © (20.08.17 18:04) [13]
    .... но воткнуть в это способны не только лишь все.
  • KilkennyCat © (20.08.17 18:33) [14]
    ну вот у меня вчера чет х32 приложение не стало работать с х64 акцессовским чем-то-там-оле-12 на ви7х64. в то же время, всё прекрасно заработало с х32 от акцесса, на той же винде.
    но мой случай - частный (одноразовая прога для) и поэтому с rrrrrr [2] полностью согласен.
  • Игорь Шевченко © (20.08.17 20:31) [15]

    > Мне удавалось прикрутить 64битный клиент оракла с 32битному
    > приложению и оно работало. Но это... в общем, даже не пробуй.
    >


    Мне кажется ты лукавишь.
  • Kerk © (20.08.17 22:26) [16]

    > Игорь Шевченко ©   (20.08.17 20:31) [15]

    Нет, оно работало в продакшене долгое время. Может и сейчас работает, не знаю. То было во времена моей работе в Квесте. Я был молод и горяч :) Сделал   32хбитную обертку поверх 64битной oci.dll. 32хбитная dll-ка запускала в фоне 64битный процесс, который подгружал настоящую 64хбитную oci.dll и гоняла данные туда-сюда через межпроцессные всякие штуки.

    Там в х32 и х64 oci.dll все функции одинаковые на самом деле, только разрядность другая. Так что ничего сверхъестественного, просто очень много муторной работы.
  • Германн © (21.08.17 01:46) [17]
    Имхо.
    На 64-системе любое 64-приложение без проблем может использовать 32-библиотеки.
  • Германн © (21.08.17 01:49) [18]
    P.S.
    Под приложением подразумевается любой исполняемый модуль как exe так и dll.
  • rrrrrrr © (21.08.17 08:40) [19]
    "использовать" - слово обтекаемое.

    а так-то и у меня 32 битная винда использует 64 битные линуксовые библиотеки.
    каждый день и без проблем.
 
Конференция "Прочее" » разрядность модулей, работающих в связке под x64
Есть новые Нет новых   [118232   +42][b:0][p:0.001]