Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE3

Автор: XPerformer
Дата сообщения: 18.08.2013 12:35
MGAlex
Дык чтобы виртуалка была 64 бита, надо сначала основную систему переставить. А для проекта трудоемкости 1-2 дня это как-то радикально будет...
А есть какие-то подводные камни? ничего не используется кроме стандартных библиотек делфи. Думаю, при тестировании ничего править не придется
Автор: MGAlex
Дата сообщения: 18.08.2013 13:20

Цитата:
Дык чтобы виртуалка была 64 бита, надо сначала основную систему переставить.

Зачем? Вовсе не обязательно. Просто на виртуальную машину установите х64 ОС и все. Например, в VirtualBox или VMWare.
Автор: XPerformer
Дата сообщения: 18.08.2013 13:46
MGAlex
Я правильно понимаю - для этого процессор должен быть с аппаратной поддержкой виртуализации?
Автор: MGAlex
Дата сообщения: 18.08.2013 13:52
По-моему, не обязательно.
Автор: Arioch1
Дата сообщения: 19.08.2013 09:54
По крайней мере совсем недавно было нужно и виртуализацию и x64 (даже если основная операционка x86):

https://forums.virtualbox.org/viewtopic.php?f=1&t=46904
http://www.virtualbox.org/manual/ch03.html

А как иначе ты предлагаешщь ? полностью эмулировать процессор программой, как DOSemu и QEMU ? Боюсь, что скорость вообще будет ужасающая... Даже для отладки нужно будет систему загрузить - а она вся как бейсик будет.
Автор: MGAlex
Дата сообщения: 19.08.2013 10:56
Я просто ни разу не сталкивался с подобной проблемой, поэтому, сильно не задумался.
Нужно пробовать.
Автор: ego666
Дата сообщения: 22.08.2013 09:24
XPerformer
для отладки под x64 можно к примеру использовать ноутбук
Автор: MGAlex
Дата сообщения: 22.08.2013 10:13
ego666
Видимо, нет такой возможности у человека.
Автор: XPerformer
Дата сообщения: 22.08.2013 13:14
Ребята, спасибо за помощь, проблема уже решена. Проект сдан.
Но на вопрос - какие грабли выплывают в корректно написанном коде при перекомпиляции под 64 бита, никто не ответил
(кроме самоочевидного - sizeof указателя и прочих типов)
Автор: A_V
Дата сообщения: 22.08.2013 17:24

Цитата:
Но на вопрос - какие грабли выплывают в корректно написанном коде при перекомпиляции под 64 бита, никто не ответил
(кроме самоочевидного - sizeof указателя и прочих типов)

ну в официальной доке перечислены основные моменты - http://docwiki.embarcadero.com/RADStudio/XE4/en/Converting_32-bit_Delphi_Applications_to_64-bit_Windows

от себя добавлю, что на xe2 при ошибочном указании импорта 32-бит длли, приложение молча схлопывалось на старте, без каких либо сообщений об ошибках.. так не сразу поймешь что не то, особенно когда dllей много
Автор: jvthegost
Дата сообщения: 26.08.2013 14:18
День добрый. Подскажите стоит система WIN7 (64-bit). Установил XE3, + Oracle Client 11 (64-bit). В результате имею возможность создания ODBC имен, но ODAC в Delphi не видит OCI.DLL. Если поставить Oracle Client 11 (32-bit) то Delhi видит OCI.DLL, но возникает проблема с настройкой ODBC, там отсутствует Oracle driver.
Подскажите, как сделать так что бы и ODBC и Delphi могли работать с клиентом.
Автор: A_V
Дата сообщения: 26.08.2013 16:15
jvthegost
проект-то под 64-bit собираешь?
Автор: Alexey_Gawrilow
Дата сообщения: 26.08.2013 19:09
jvthegost

Клиента ORACLE нужно ставить по разрядности ПРИЛОЖЕНИЙ, а не системы.

Иначе:
- приложение Win32 требует 32-bit клиента
- приложение Win64 требует 64-bit клиента
Автор: Arioch1
Дата сообщения: 27.08.2013 12:22
а в 64-битном клиента нет 32-битной DLL в комплекте ?

нельзя поставить сразу оба клиента ?

почему бы не запустить 32-битную настройку ODBC ?
Автор: Alexey_Gawrilow
Дата сообщения: 27.08.2013 14:15
Arioch1

Цитата:
а в 64-битном клиента нет 32-битной DLL в комплекте ?


Нет.



Цитата:
нельзя поставить сразу оба клиента ?


Можно.
Автор: jvthegost
Дата сообщения: 04.09.2013 11:47

Цитата:
почему бы не запустить 32-битную настройку ODBC ?

А каким образом это сделать, а то я поставил 2 клиента себе.

И столкнулся с такой проблемой, прога перестала запоминать какая была раскладка. т.е. работаю в русском языке, сворачиваю прогу, в системе по дефолту стоит английский, возвращаюсь в свою прогу, и у меня там уже английский, что очень не удобно. Как заставить ее помнить язык.
Пробовал

Код: LoadKeyboardLayout('00000419',KLF_ACTIVATE);
Автор: Frodo_Torbins
Дата сообщения: 04.09.2013 16:46
jvthegost
Запустите свою прогу на чистой виртуалке. Наверняка это кто то посторонний шалит (типа пунтосвитчера).
Автор: jvthegost
Дата сообщения: 04.09.2013 16:58
Да в том то и проблема, у себя тоже самое заметил, как и на всех клиентах, хотя у меня пунтосвичера и подобных ему нет.
Автор: A_V
Дата сообщения: 04.09.2013 17:24
jvthegost
возможно изнутри приложения сбрасывается на дефолтную. если так,
можно поставить брейкпойнт внутрь ActivateKeyboardLayout, и посмотреть по стеку.
Автор: jvthegost
Дата сообщения: 05.09.2013 13:27

Цитата:
возможно изнутри приложения сбрасывается на дефолтную. если так,
можно поставить брейкпойнт внутрь ActivateKeyboardLayout, и посмотреть по стеку.


А каким образом ?
Автор: A_V
Дата сообщения: 05.09.2013 18:27
jvthegost
либо собрать с use debug dcu's и поставить бряк на строке с описанием ф-ии (там где external user32 указан), либо сделать самому тестовый вызов, поставить там бряк, открыть CPU view, зайти в первый call по F7, и поставить второй бряк уже там, внутри call'а
Автор: jvthegost
Дата сообщения: 26.09.2013 09:02
Эта зараза кстати, как я понял, что то вроде расплаты за переход на UNICODE.
Нашел я решение.
Необходимо в файл *.dpr добавить строку

Код: PInteger(@Screen.DefaultKbLayout)^:=-1;
Автор: Medium
Дата сообщения: 26.09.2013 22:26
jvthegost

Цитата:
Может кому и понадобится.

Подскажите, плз, что конкретно даст данная строка?
Автор: jvthegost
Дата сообщения: 27.09.2013 14:09
Работал с Delphi в ХЕ3 и ХЕ4, пишешь приложение, ввод данных осуществляется скажем русским языком, а дефолтовый в системе у тебя английский. Так что бы во время перехода с формы на форму, не менялся язык ввода на дефолтовый. Это, как я понял, происходит с 2009 CodeGear.
Автор: Medium
Дата сообщения: 29.09.2013 22:30
jvthegost
Понятно, большое спасибо.
Автор: option
Дата сообщения: 12.12.2013 13:21
Что-то не могу врубиться. При компиляции ставлю галочку "Output resource string .drc file", во время компиляции drc файл появляется, а потом исчезает. Что нужно сделать, чтобы файл оставался?
Автор: X11
Дата сообщения: 12.12.2013 15:02
нужно в настройка эврики отключить удаление служебных файлов
Автор: V1s1ter
Дата сообщения: 21.04.2014 14:21
Всем
Кто сталкивался, ниже приведенный код не работает под XE3.
Как обойти? Компилятор пишет "переменная psHandleIC не определена".
Но в System.UITypes эта переменная является частью перечислимого типа и определена в секции interface "TPrinterState = (psNoHandle, psHandleIC, psHandleDC);"

Код:
program Project26;
{$APPTYPE CONSOLE}
{$R *.res}

uses
System.SysUtils, System.UITypes;

begin
Writeln(psHandleIC);
end.
Автор: Talay
Дата сообщения: 17.06.2014 10:30
Ребята, где я могу скачать вот такое:
Embarcadero Interbase XE3 Server Edition ?

поискал через гугл тишина )
Автор: X11
Дата сообщения: 23.10.2015 12:00
Странное поведение Delphi XE3 и Delphi 2007 на Windows 10 x64

При старте проекта в режиме debug среда вешает ПК намертво. Ничего нельзя сделать, вообще, только Reset.
Приложение стартует, а секунд через 5-10 ОС подвисает. Почти постоянно это проявляется. Если запускать приложение вне IDE, то подвисаний нет.
Эксперты и надстройки отключал/удалял.
Было какое-то время, что не было подвисаний.
Открыл другой проект, намного меньше. Тоже проявилась проблема.

Антивирус отключал, IDE с админскими правами запускал.

на снимке видна DLL на которой всё виснет
http://f5.s.qip.ru/14a5VJpS9.png - это D2007

в случаях, когда не зависает, то этой библиотеки в списке нет
в Delphi XE3 немного другой список

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738

Предыдущая тема: [Delphi XE2] Размер PNG


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.