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

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: rrromano
Дата сообщения: 21.09.2011 16:52
eddoc
В модуле сортировки для эхлиб вижу буквально: fld[i].VType:=vtAnsiString;
Можно просто попробовать подправить этот модуль. Для Оракла он у меня вообще "левый" (его нет в поставке компоненты).

Эти модули, судя по всему, не так пристально обновляются. Посмотрите даже просто шапку в сорцах )
Автор: eddoc
Дата сообщения: 21.09.2011 22:36
rrromano

Цитата:
Эти модули, судя по всему, не так пристально обновляются. Посмотрите даже просто шапку в сорцах )


Спасибо, тоже вижу.

Подправил и переименовал модуль, подключил под другим именем (править сорцы, не наследуясь, ЕМНИП, моветон).

Все взлетело, но как-то не так - все равно память течет. В сердцах плюнул - более актуальные проблемы есть. Попробую в саппорт Большакову отписаться.

зы. рано, ох рано Большаков от бета-тестирования отказался. Сыроват продукт.
Автор: rrromano
Дата сообщения: 22.09.2011 08:59

Цитата:
ох рано Большаков от бета-тестирования отказался


Помнится, он раньше лицензии за тестирование раздавал... Интересно, как теперь с этим обстоит дело. ИМХО это бы могло улучшить продукт.
Автор: eddoc
Дата сообщения: 22.09.2011 11:02
rrromano

Цитата:
Помнится, он раньше лицензии за тестирование раздавал...


Собственно, за такие деньги можно было б и купить. Вопрос в качестве, полусырое мясо никто в ресторане кушать не будет. Разве что, попробовать...

зы. насчет девичьего грида я, пожалуй, погорячился Многие настройки не очевидны и требуют внимательного изучения доки, чтоб требует времени. Камень преткновения - внешний вид, чтобы не нарушать единообразие интерфейса. Так что, останусь на эхгриде и пока поколдую с серверной сортировкой - проще и понятнее
Автор: rrromano
Дата сообщения: 22.09.2011 14:17
eddoc

Ну вот, всё, как и предполагалось )
К стати, практика показывает, что к любому продукту (почти) нужен напильник )
Автор: AKazak
Дата сообщения: 24.09.2011 11:38
Пишу консольное приложение на XE. Нужен вывод русских сообщений в консоль, и следовательно нужно преобразовать кодировку строки из ANSI или Unicode в OEM. Прошерстил Интернет (см. тут, тут и тут) и оказалось в RAD на работают Unicode in RAD Studio). Пришлось слегка модифицировать функции преобразования кодировки:
Код: function StrAnsiToOem(const InputString: AnsiString): AnsiString;
begin
SetLength(Result, Length(InputString));
AnsiToOemBuff(@InputString[1], @Result[1], Length(InputString));
end;
Автор: Frodo_Torbins
Дата сообщения: 24.09.2011 12:08
AKazak
Вывод русских буковок в консоль достигается одной строкой кода в начале программы:
Код: DefaultSystemCodePage := GetConsoleCP;
//а далее просто
WriteLn('Привет мир!');
Автор: ShadowMen
Дата сообщения: 22.10.2011 22:45
Delphi XE. Пропали иконки компонентов с палитры компонентов.

Причем не все, а частично...
Тем не менее, при переключении в Default layout - иконки присутствуют

Может кто встречался с таким...

Оказывается, это не только у меня...
Подобная проблема описана тут: http://stackoverflow.com/questions/5954718/delphi-xe-icons
Кратковременное решение заключается в удалении веток реестра
HKEY_CURRENT_USER\Software\Embarcadero\BDS\8.0\Package Cache
HKEY_CURRENT_USER\Software\Embarcadero\BDS\8.0\Palette\Cache

Единственное, что помогает в решении проблемы запуск IDE с -nocache



Автор: Andrey128
Дата сообщения: 02.11.2011 14:47
Как обнулить одним махом динамический массив?
Хотелось бы это сделать без цикла.

Если элемент массива - целочисленный (например Integer), то можно сделать так
Код: FillChar(A[0], SizeOf(A[0]) * Length(A), 0);
Автор: Samotek
Дата сообщения: 02.11.2011 15:45
Andrey128
вариант 1 a := nil;
вариант 2 SetLength(a,0);
Автор: Andrey128
Дата сообщения: 02.11.2011 16:10
Samotek
В Вашем варианте, память массива будет уничтожена и заново выделена.

Забыл написать, что обнуление массива происходит в длительном цикле, и хотелось бы лишние манипуляции исключить, т.е. обнулить через FillChar или что-либо подобное.
Автор: Samotek
Дата сообщения: 02.11.2011 16:27
Andrey128

Цитата:
Как обнулить одним махом динамический массив?

Динамический массив имеет размерность в виде количества элементов. Обнулить такой массив может означать только удалить все элементы. Вы наверно имели в виде "обнулить значения элементов"? Тогда бы я не отвечал, так как не знаю такого. Удачи.
Автор: Andrey128
Дата сообщения: 02.11.2011 17:04
Samotek
Прошу прощения, что ввел в заблуждение.
Нужно обнулить значения элементов.
Автор: wasilissk
Дата сообщения: 02.11.2011 18:43
Andrey128

Код:
var
I: Integer;
A: array of Currency; // Integer
begin
SetLength(A, 9);
for I := Low(A) to High(A) do
A[ I ] := I + 10;
FillChar(A, SizeOf(A[0]) * Length(A), 0);
for I := Low(A) to High(A) do
A[ I ] := I + 100;
end;
Автор: Andrey128
Дата сообщения: 03.11.2011 05:54
wasilissk
В Вашем варианте обнуляется сама переменная A и после этого переменная A никуда не указывает. А выделенная раннее память остается бесхозной.

Попытался отследить отладчиком CPU, что же вызывается в SetLength (ведь после нее, элементы массива обнулены). И увидел знакомую функцию FillChar.
На мой взгляд, переменная A - это указатель на выделенный массив в памяти. После недолгих экспериментов родился рабочий вариант.
Код: FillChar(Pointer(A)^, SizeOf(A[0]) * Length(A), 0);
Автор: KF121
Дата сообщения: 08.11.2011 08:07
С++ Builder. задача прочитать на x64 ветку в реестре, приложение пишу x86. по умолчанию вычитывает с Wow64node. как заставить 32-х разрядное приложение прочитать из HKEY_LOCAL_MACHINE\SOFTWARE\ а не HKEY_LOCAL_MACHINE\SOFTWARE\Wow64node
Автор: Pavel_M2
Дата сообщения: 08.11.2011 08:21
MSDN
Автор: KF121
Дата сообщения: 08.11.2011 08:23
Через TRegistry это можно сделать?
Автор: Senpai07
Дата сообщения: 08.11.2011 13:16
KF121


Цитата:
Через TRegistry это можно сделать?

Можно.
Автор: KF121
Дата сообщения: 08.11.2011 13:39
Senpai07
а не подскажите как? чет не нашел флага отвечающий за редирект.
Автор: Pavel_M2
Дата сообщения: 08.11.2011 18:08
KF121
Ты по ссылке, что я прислал, ходил?
Автор: AdapterLp
Дата сообщения: 13.11.2011 22:24
можете посоветовать обфускатор не кода а исполняемого файла и cmd ?
Автор: Frodo_Torbins
Дата сообщения: 13.11.2011 22:43
AdapterLp
В исполняемом файле, после отключения отладочных опций компилятора, обфусцировать и так нечего. Все что там остается будет необходимо для работы. Но даже такой файл можно обработать криптором и протектором.
Автор: apnss
Дата сообщения: 14.11.2011 00:58
AdapterLp
для EXE хорошо себя зарекомендовал:
http://www.oreans.com/themida.php

тут в варезнике поищи.
мне она так понравилась что я ее купил ...
Автор: AdapterLp
Дата сообщения: 18.11.2011 02:04
Frodo_Torbins
apnss

Благодарю!
Автор: amfius
Дата сообщения: 19.11.2011 20:11

Цитата:
amfius
Перед открытием демок этот TMDTabSet нужно установить в палитру компонент.

Frodo_Torbins
Спасибо, все заработало.

Вот еще вопрос: а как по исходному коду модуля понять, что нужно с ним делать: просто подключить (uses) или компилировать компонент?
Автор: Frodo_Torbins
Дата сообщения: 19.11.2011 22:46
amfius
Если в нем есть процедура с именем Register содержащая вызовы RegisterComponents, RegisterNoIcon и пр., то нужна инсталляция.
Автор: Man_Without_Face
Дата сообщения: 30.11.2011 10:53
Создаю dbf файл c помощью TAdoCommand через ConnectionString. В той же процедуре хочу его скопировать, но до отработки процедуры файл занят. Как этого избежать?

Добавлено:
Вопрос в принципе решил: добавил AdoConnection, задал ConnectionString вместо AdoCommand. Выбрал в AdoCommand connection - AdoCommand. После создания файла ADOConnection.Close;
Автор: SergBSI
Дата сообщения: 01.12.2011 05:23
Подскажите компонент или библ. для работы с комплексными числами кроме VarCmpx (сильно медленно работает) осбенно для XE2
Автор: XPerformer
Дата сообщения: 01.12.2011 05:34
SergBSI
Можно посмотреть JEDI-Math
http://jedimath.sourceforge.net/

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


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