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

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

Автор: Samotek
Дата сообщения: 20.06.2013 12:41
neznayka3
Не писать if 1 = 1 ведь этот код будет выполнятся всегда, а следовательно result := False - излишний
Автор: neznayka3
Дата сообщения: 20.06.2013 13:15
1=1 для примера, в коде этого нет.
Автор: Samotek
Дата сообщения: 20.06.2013 13:19
neznayka3
И я для примера, смысл в этом: где-то в коде при любых условиях идет присваивание, значит инициализация бессмысленна.
Автор: ulyss1977
Дата сообщения: 20.06.2013 13:40
neznayka3

Цитата:
как избежать хинтов компилятора типа:

Цитата:
[dcc32 Hint] Unit9.pas(42): H2077 Value assigned to 'TForm9.Check' never used

В данном конкретном случае нужно убрать первое присвоение, а к if'у добавить else, в котором присваивать Result'у false:

Код:
function TForm9.Check: Boolean;
begin
if 1 = 1 then
Result := true
else
Result := false;
end;
Автор: vikop15
Дата сообщения: 27.09.2013 15:48
А подробнее можно узнать что именно править в HKEY_CURRENT_USER?
Автор: nevertime
Дата сообщения: 27.09.2013 22:21
если такая ошибка HKEY_CURRENT_USER\\" is of wrong kind or size

открываете редактор regedit если встать на ветку HKEY_CURRENT_USER
справа должно быть Имя (По умолчанию) Тип REG_SZ (Значение не присвоено)

для примера откройте корень других веток, если в HKEY_CURRENT_USER что то другое то будет ошибка is of wrong kind or size
Автор: dred2k
Дата сообщения: 04.10.2013 02:09
Есть такая штука.
Пишу под D2010. Массово рожаю объекты, использую, убиваю. В том числе - формы.
Но тут, при отладке, затеялся моментом...
Создаю внутри хз где форму:

Код: tmpF := TClassForm.Create(nil);
Автор: Dmitry
Дата сообщения: 04.10.2013 10:26
dred2k

Цитата:
Использую встроенные средства контроля утечек.
И вот вопрос - почему мне не показывают утечку, если я просто беру и не освобождаю созданный объект ?

А встроенные это какие именно?
Автор: AntonioT
Дата сообщения: 06.10.2013 12:18
Dmitry

Цитата:
А встроенные это какие именно?

Видимо эту:
initialization
ReportMemoryLeaksOnShutdown := True;
Автор: Dmitry
Дата сообщения: 06.10.2013 18:23

Цитата:
ReportMemoryLeaksOnShutdown

AntonioT

Цитата:
Видимо эту:
initialization
ReportMemoryLeaksOnShutdown := True;


Лучше тогда уж полноценный FastMM поставить. В нем точно все подобные утечки показываются.
Автор: Frodo_Torbins
Дата сообщения: 07.10.2013 12:18
dred2k
Форму может удалить не только Owner, но и Parent. Правда это может случится только при удалении самого Parent-а, но с точки зрения менеджера памяти утечки тут не будет.
Автор: bukerman1975
Дата сообщения: 09.10.2013 02:13
господа-товарищи, может кто подскажет-сталкивался.
есть компоненты XL Report от AfalinaSoft (http://www.afalinasoft.com/rus/xl-report/). юзаются в разных проектах на D7, D2010 и DXE3. все прекрасно работает с разными версиями MS Office по 2010 включительно.
но вот столкнулся поставил программу на комп, где установлен Office и соотв-но Excel 2013 и при запуске на формирование отчета вылетает эксепшен с ошибкой "OLE error 800A03EC"

никто не знает, победить как-то можно или только установкой офиса 2010?

заранее спасибо за любые ответы.
Автор: Dmitry
Дата сообщения: 09.10.2013 08:12
bukerman1975
Не знаю, поможет или нет, но как вариант - http://blog.esin.name/2011/11/ole-error-800a03ec.html
Автор: bukerman1975
Дата сообщения: 09.10.2013 10:37
Dmitry
да, спасибо, видел это тоже, пробовал. не помогло.
там видимо что-то из другой серии...
Автор: Medium
Дата сообщения: 09.10.2013 11:59
bukerman1975

Цитата:
господа-товарищи, может кто подскажет-сталкивался. есть компоненты XL Report от AfalinaSoft (http://www.afalinasoft.com/rus/xl-report/). юзаются в разных проектах на D7, D2010 и DXE3. все прекрасно работает с разными версиями MS Office по 2010 включительно.   но вот столкнулся поставил программу на комп, где установлен Office и соотв-но Excel 2013 и при запуске на формирование отчета вылетает эксепшен с ошибкой "OLE error 800A03EC"   никто не знает, победить как-то можно или только установкой офиса 2010?   заранее спасибо за любые ответы.


В MS Excel 2013 внесены изменения в SDI Excel. Теперь, если Excel находится в свёрнутом состоянии, при выполнении команды IR.UnMerge или Merge будет стабильно возвращаться ошибка "OLE error 800A03EC".
Решение: или не сворачивать Excel, или делать его невидимым, выполнять Merge и т.д., а затем снова делать видимым
Источник:
http://social.msdn.microsoft.com/Forums/ru-RU/officedevpreview/thread/79a7af70-3bd8-4b92-b1d2-31d876589f45

Лично я пока выбрал первый вариант - убрал для всех версий Excel минимизацию. Будет неудобно - заменю на visible/unvisible.
Чтобы убрать минимизацию - нужно в xlEngine.pas в процедуре TxlExcelReport.Connect;
строку:
IXLSApp.WindowState[xlrLCID] := TOLEEnum(xlMinimized);
заменить на:
IXLSApp.WindowState[xlrLCID] := TOLEEnum(xlMaximized);

Вместо xlMaximized можно также указать и xlNormal.

Желаю удачи.
Автор: bukerman1975
Дата сообщения: 09.10.2013 16:18
Medium

Цитата:
Лично я пока выбрал первый вариант - убрал для всех версий Excel минимизацию. Будет неудобно - заменю на visible/unvisible.
Чтобы убрать минимизацию - нужно в xlEngine.pas в процедуре TxlExcelReport.Connect;
строку:
IXLSApp.WindowState[xlrLCID] := TOLEEnum(xlMinimized);
заменить на:
IXLSApp.WindowState[xlrLCID] := TOLEEnum(xlMaximized);

Вместо xlMaximized можно также указать и xlNormal.

Желаю удачи.


Огроменное спасибо! выручаете уже не первый раз.

и вам удачи взаимно!

все нормально, но почему-то сформированный отчет перестал выводиться на первый план. совсем не критично, но может у вас уже есть решение?
Автор: Medium
Дата сообщения: 09.10.2013 19:05
bukerman1975
Пожалуйста, всегда рад помочь.

Цитата:
все нормально, но почему-то сформированный отчет перестал выводиться на первый план. совсем не критично, но может у вас уже есть решение?

Есть такое, для меня тоже пока не критично, поэтому решение не искал. Может позже.
Автор: Adalon
Дата сообщения: 17.11.2013 12:08
Давно не программировал. Но сейчас возникла необходимость оживить старый проект, который писался еще под RAD Studio 2007.
Однако я помню, что 2007, 2009 и 2010 версии были какие-то кривоватые по сравнению со старой доброй Borland Developer Studio, хелп не очень и т.д.
Смотрю за это время вышли какие-то XE, XE2 и т.д.
В общем интересует ответ на вопрос - какая из всех этих сред 2007-2013 года, учитывая все апдейты, является самой стабильной, удобной?
Из предлагаемых пакетов нужен только C++Builder. Ну и сами Delphi для перекомпеляции каких-нибудь правок внешних компонентов.
Автор: Frodo_Torbins
Дата сообщения: 17.11.2013 12:17
Adalon
Они приблизительно все одинаковые, так что берите самую свежую. НО, в Д2007 стандартная строка была еще ансишная, а с Д2009 уже юникодная с двумя* байтами на символ. Так что проверьте чтобы у вас были свежие версии всех компонент, в которые внесены соответствующие исправления.

* на самом деле там еще могут встречаться суррогатные пары
Автор: Adalon
Дата сообщения: 17.11.2013 12:45
Да я просто помню про какие-то мучения с установкой даже, обновлением хелпа. То пути не видит setup, то еще что. Плюс банальная установка допустим того же Fast Report'а не приводила к прописыванию путей до библиотек через раз. Постоянно вручную приходилось.
Про строку знаю, спасибо.
Автор: tanaseduard
Дата сообщения: 05.02.2015 09:49
Народ у кого-то бывают проблемы чтоб IDE при загрузке начинает что DCU или BPL не могут загрузится так как не найдены. В путях все прописанно, файлы на месте. Ничего не переустанавливалось. Помогает токо ребут.
Автор: victor r
Дата сообщения: 05.02.2015 11:52
Здравствуйте!
Скажите кто сталкивался с проблемой прямого/Direct подключения к удаленным серверам Oracle в компонентах UniDAC.
Использую:

Цитата:

ОС=Windows7 Профессиональная x64
Среда разработки = Delphi XE (RAD Studio XE Version 15.0.3953.35171)
Компонент = UniDAC версии 4.5.10

прописаны либы:

Код:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBAccess, Uni, ExtCtrls, UniDacVcl, UniProvider,
OracleUniProvider, DAAlerter, UniAlerter;
Автор: victor r
Дата сообщения: 10.02.2015 09:47
Проблема может быть решена установкой новых компонентов, стояли UniDAC версии 4.5.10, поставил 6.0 direct коннект прошел без клиента oracle.

Цитата:
в версии сервера 11.2.0.3.0 был еще старый протокол, поэтому с этой версией работают и старые версии. С версии 11.2.0.4 Direct режим будет работать только в новых UniDAC.
Автор: dimonadv
Дата сообщения: 04.03.2015 14:25

Цитата:
Народ у кого-то бывают проблемы чтоб IDE при загрузке начинает что DCU или BPL не могут загрузится так как не найдены. В путях все прописанно, файлы на месте. Ничего не переустанавливалось. Помогает токо ребут.

Было нечто подобное, но там сам виноват, после переустановки винды осталась старая копия дельфы на диске C, а новая была на D. Кавардак получался приличный.
Ради интереса попробуйте поискать эту BPL по всем дискам.
Может она не единична и порой подхватывает не ту.
Как версия...
Автор: tanaseduard
Дата сообщения: 04.03.2015 15:32
dimonadv
Версия Delphi 2010
BPL искал везде. Нету. На этой винде только эта делфя и была.
Лечится банально перезагрузкой компа, встречается редко, но бывает.
Автор: protoror
Дата сообщения: 10.03.2015 15:58
tanaseduard
поудаляйте лишнее пути из переменных среды в винде
Автор: tanaseduard
Дата сообщения: 10.03.2015 16:01
protoror
А что есть лишнее? У меня их там не так уж и много...
Автор: protoror
Дата сообщения: 11.03.2015 16:24
tanaseduard
я к тому что при установке 2 разные делфи напихали может туда разных путей, нужен то только один от последней версии
Автор: tanaseduard
Дата сообщения: 11.03.2015 16:26
protoror
На этом тазике только 1 дельфа. И другая никогда не накатывалась.
Автор: brookson
Дата сообщения: 02.04.2015 16:15
Здравствуйте!

В 2010-м столкнулся с такой вот проблемой.

Файл, предварительно обработанный функцией EncodeBase64, надо преобразовать обратно.
Но DecodeBase64 обрезает файл, причём как-то пропорционально размеру, но всегда одинаково. Именно обрезает, т.к. даже в случае изображения оно выводится, но обрезанное снизу

Код: procedure TForm1.DecodeToFile(const base64: AnsiString; const FileName: string);
var
stream: TFileStream;
bytes: TBytes;
begin
bytes := DecodeBase64(base64);
stream := TFileStream.Create(FileName, fmCreate);
try
if bytes<>nil then
stream.Write(bytes[0], Length(Bytes));
finally
stream.Free;
end;
end;

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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