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

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

Автор: JAPWork
Дата сообщения: 07.09.2011 09:35
mdid
Вы не поняли... Про скорость открытия проекта речь не идет. Если аккуратно выполнить все замеры при старте среды, подчеркиваю - аккуратно, то выяснится, что при старте среды "Пиковый рабочий набор" покажет Вам величину порядка 200 с лишним метров, а "Выделенная память" застынет примерно на 160 метрах.
Далее, я за день постоянно переключаюсь между несколькими проектами, тормозов не наблюдаю. Память, занимаемая проектами, освобождается не сразу, что и понятно. Таково уж управление памятью в Винде. Если приложение активно, то менеджер памяти приложения вовсе не торопится моментально сбросить всю ненужную память. В логике его работы и зашито "придерживание" однажды выделенной памяти на случай, если она вновь понадобится. Вот когда извне поступит требование "память освободить"...
Автор: mdid
Дата сообщения: 07.09.2011 10:18
ну и ладно...пасиб..буду мучаться дальше
Автор: druff
Дата сообщения: 07.09.2011 10:41
mdid
У меня как-то были похожие проблемы, только с D2006. К концу дня bds.exe отъедал полгига оперативы. Причина была в CnWizards, после его удаления проблемы исчезли.
Автор: mdid
Дата сообщения: 07.09.2011 18:55
druff
да нету у меня его...
JAPWork
и кстати..вы не правы...открыл делфи(не открывая проект)..ждал минут 10..выше 10 метров ОЗУ не поднималось
Автор: Frodo_Torbins
Дата сообщения: 07.09.2011 20:34
mdid
В дисетчере задач целых шесть колонок отвечающих за отобажение потребляемой памяти. На какую из них вы смотели?
Автор: JAPWork
Дата сообщения: 07.09.2011 20:45
mdid
Вот пришел домой и еще раз проверил. Через минуту (запускал Студию, архитект)
в диспетчере задач "Память" - 30 метров, "Пиковый рабочий набор" - больше 200 метров, "Память (частный рабочий набор) - 20 метров, "Выделенная память" - 155 метров, "Выгружаемый пул" и "Невыгружаемый пул" - сотни килобайт..., меньше метра. И на этом уровне примерно все и держится...
При старте Дельфи у вас на сплаш-скрине есть сообщения о загрузке Кодесайта, пакетов дизайн-тайм и прочей ерунды? Вот в это время и растут показатели выделенной под BDS.exe памяти...
С чем связано столь незначительное выделение памяти у Вас - не понимаю. У меня "семерка" 64-разрядная, ОЗУ 6 Гигабайт.
Автор: mdid
Дата сообщения: 08.09.2011 07:58
ну ту что по умолчанию смотрел...хотя вот открыл остальные колонки..пиковый 197 а выделенная 134...
Автор: Frodo_Torbins
Дата сообщения: 08.09.2011 09:11
mdid
Значит у вас система большую часть студии в подкачку закидывает. А в оперативе остается только тот код, который постоянно вызывается. В любой момент времени можно заставить винду повторить этот фокус вызвав EmptyWorkingSet. Но толку от этого будет мало т. к. при следующей попытке работать со студией вся память подтянется обратно в оперативу.
Автор: mvictor71
Дата сообщения: 08.09.2011 10:32
Здравствуйте.

Среда Delphi XE

в приведенном ниже примере на форме два tedit. Обработчик OnExit одного из них (edit1) содержит диалог messagebox.
Если переход между контролами делать табом (Tab) - все хорошо. Если же ввесли текст в edit1 а затем мышкой тыкнуть в edit2
то после вызова messagebox фокус кудато улетает (курсор в edit2, но текст ввести нельзя), до тех пор пока мышкой не тыкнуть в этот или другой контрол.
Может посоветуете что-то?
Спасибо

Код:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
procedure Edit1Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Edit1Exit(Sender: TObject);
begin
if messagedlg('это правильное значение?',mtconfirmation,[mbyes,mbno],0,mbno)=mrno then
Edit1.SetFocus ;

end;

end.
Автор: svavka
Дата сообщения: 08.09.2011 17:00
Привет всем!!!
Вопрос такой, может кто сталкивался, пишу приложение для работы с gsm модемом использую компоненту cport, дак вот дома работает и на xp и на 7ке(Ultimate), а вот на машине к которой подключен модем (7ka pro) вот не хочет отправлять команды и все тут, к той машине подключаюсь по rdp, сначала думал дело в этом, но гипертерминал работает нормально...
может кто-нить что-нить посоветовать?
Автор: vez
Дата сообщения: 08.09.2011 17:40

Цитата:
Привет всем!!!
Вопрос такой, может кто сталкивался, пишу приложение для работы с gsm модемом использую компоненту cport, дак вот дома работает и на xp и на 7ке(Ultimate), а вот на машине к которой подключен модем (7ka pro) вот не хочет отправлять команды и все тут, к той машине подключаюсь по rdp, сначала думал дело в этом, но гипертерминал работает нормально...
может кто-нить что-нить посоветовать?

Хорошая поддержка GSM модемов в nrComm, я пробовал с сименсом М20, работает классно.
Автор: svavka
Дата сообщения: 08.09.2011 21:10

Цитата:
vez

спасибо, действительно стоящая вещь
Автор: yakostik
Дата сообщения: 13.09.2011 10:28
Подскажите это только у меня такой глюк или я чтото не понимаю?
задача нарисовать на канве формы вертикальную черту которая на 90 пикселене не доходит до низа и верха формы

пишу вот так

form1.Canvas.MoveTo(90,90)
form1.Canvas.LineTo(90,form1.Height-90);

и получаю линию которая уходит далеко за нижний край формы

если же написать

form1.Canvas.MoveTo(90,90);
form1.Canvas.LineTo(90,form1.Height-155);

то получаю то что нужно тоесть смещение между form1.Height и краем формы для канвы имеет разницу в 65 пикселей.

таже фигня с координатами правого края только там разница составляет 20 пикселей
тоесть линия которая не доходит на 20 пикселе до левого края формы рисуется как

form1.Canvas.LineTo(form1.Width-40,form1.Height-145);

Подскажите что это и как бороться?
Автор: rrromano
Дата сообщения: 13.09.2011 10:36

Цитата:
Подскажите это только у меня такой глюк или я чтото не понимаю?
задача нарисовать на канве формы вертикальную черту которая на 90 пикселене не доходит до низа и верха формы

пишу вот так

form1.Canvas.MoveTo(90,90)
form1.Canvas.LineTo(90,form1.Height-90);

и получаю линию которая уходит далеко за нижний край формы

если же написать

form1.Canvas.MoveTo(90,90);
form1.Canvas.LineTo(90,form1.Height-155);

то получаю то что нужно тоесть смещение между form1.Height и краем формы для канвы имеет разницу в 65 пикселей.

таже фигня с координатами правого края только там разница составляет 20 пикселей
тоесть линия которая не доходит на 20 пикселе до левого края формы рисуется как

form1.Canvas.LineTo(form1.Width-40,form1.Height-145);

Подскажите что это и как бороться?


А вы нарисуйте и посчитайте пиксели.

Надо так:

form1.Canvas.MoveTo(90,90)
form1.Canvas.LineTo(90,form1.Height-180);

Длина линии = высота формы - 90 сверху - 90 снизу.
Автор: yakostik
Дата сообщения: 13.09.2011 10:43
rrromano


Цитата:
Надо так:

form1.Canvas.MoveTo(90,90)
form1.Canvas.LineTo(90,form1.Height-180);

Длина линии = высота формы - 90 сверху - 90 снизу.

я конечно могу что то путать но помоему раньше LineTo работала в обсолюдный координатах тоесть рисовать до координат x,y а не нарисовать мне линию длинной столько от начальной точки
Автор: rrromano
Дата сообщения: 13.09.2011 10:48

Цитата:
Привет всем!!!
Вопрос такой, может кто сталкивался, пишу приложение для работы с gsm модемом использую компоненту cport, дак вот дома работает и на xp и на 7ке(Ultimate), а вот на машине к которой подключен модем (7ka pro) вот не хочет отправлять команды и все тут, к той машине подключаюсь по rdp, сначала думал дело в этом, но гипертерминал работает нормально...
может кто-нить что-нить посоветовать?


Тоже имел проблемы именно с терминальником. Решил правильным выставлением всяких RTS и т. п. (не помню уже). Очень помогает тестовая прога с выведенными в контролы настройками - подобрал правильные параметры за 5 минут.

Добавлено:

Цитата:
я конечно могу что то путать но помоему раньше LineTo работала в обсолюдный координатах тоесть рисовать до координат x,y а не нарисовать мне линию длинной столько от начальной точки


Если так, то попробуйте не Height, а ClientHeight )
Может, тут собака зарыта...
Автор: yakostik
Дата сообщения: 13.09.2011 10:55
rrromano


Цитата:
Если так, то попробуйте не Height, а ClientHeight )
Может, тут собака зарыта...


А вот за это спасибо забыл о этих данных
Автор: rrromano
Дата сообщения: 13.09.2011 16:01

Цитата:
А вот за это спасибо забыл о этих данных


Рад был помочь )
Сам, бывало, точно так же ищу мелочи )))
Автор: eddoc
Дата сообщения: 16.09.2011 15:54
Приветствую, комрады! Перехожу наконец-то на юникод, есть ряд вопросов.

Ранее в D2007 для русского текста использовалась функция AnsiUpperCase. Сейчас, при миграции в DXE, возник вопрос, исправить код или оставить все как есть. Эквивалетна ли теперь она функции UpperCase?

В справке, как и в доюникодные времена, пишется "To convert 8-bit international characters, use AnsiUpperCase instead". Смущает префикс Ansi
Автор: Frodo_Torbins
Дата сообщения: 16.09.2011 16:19
eddoc
Не смущайтесь, именно она вам и нужна. А простая UpperCase по старинке работает только с английскими буквами. Сделано это как раз для того чтобы править код пришлось минимальному количеству пользователей. Хотя может это и зря, этот префикс смущает не только вас.
Автор: champa
Дата сообщения: 16.09.2011 19:20
День бодрый!
Писал я как-то проги в универе на делфи правда еще по-моему прогсто 7, да и было это лет шесть назад. вот терь захотелось написать программулину Учет ИТ оборудования для себя. Понимаю время ушло. Но какую версию программы посоветуете? Заранее спасибо.
Автор: druff
Дата сообщения: 16.09.2011 19:53
champa
если потребуются какие-то дополнительные компоненты, то стоит сперва уточнить под какими версиями они будут работать. Лично я бы выбрал Delphi XE.
Автор: Frodo_Torbins
Дата сообщения: 17.09.2011 20:36
champa
Хотя можно сначала и на семерке поработать. 90% современных компонент ее поддерживают.
Автор: champa
Дата сообщения: 17.09.2011 21:12
druff
Frodo_Torbins
спс, так и думал, что под мою задачу и семерки будет вполне достаточно. Пошел рыть установщик=))
Автор: rrromano
Дата сообщения: 19.09.2011 13:29

Цитата:
Приветствую, комрады! Перехожу наконец-то на юникод, есть ряд вопросов.

Ранее в D2007 для русского текста использовалась функция AnsiUpperCase. Сейчас, при миграции в DXE, возник вопрос, исправить код или оставить все как есть. Эквивалетна ли теперь она функции UpperCase?

В справке, как и в доюникодные времена, пишется "To convert 8-bit international characters, use AnsiUpperCase instead". Смущает префикс Ansi


Мне очень пригодилось когда-то:

_www.podgoretsky.com/ftp/docs/Delphi/Unicode_Delphi-RUS.pdf
Автор: eddoc
Дата сообщения: 20.09.2011 09:58
Комрады, нужна помощь.

Перевожу прикладу c D2007 на юникод (DXE, Fib+ 7.1, EhLib 5.4.139, база юникодная FB 2.5.1 с чарсетом коннекта UTF-8)

При попытке отсортировать значения в колонке методами ЭхЛиба

Код: if DBGridTblDoc.CanFocus then
begin
DBGridTblDoc.SetFocus;//если можно, фокус на грид

//включаем автосортировку по алфавиту
DBGridTblDoc.Columns[0].Title.SortMarker:= smUpEh;
DBGridTblDoc.Columns[0].Title.SetNextSortMarkerValue(False);
DBGridTblDoc.DefaultApplySorting;//вот тут возникает ошибка
end;
Автор: rrromano
Дата сообщения: 20.09.2011 16:02
eddoc

Серверную сортировку не хотите использовать? И быстрее будет, и расово верно... )
Автор: eddoc
Дата сообщения: 20.09.2011 23:30
rrromano

Цитата:
Серверную сортировку не хотите использовать?

В главном гриде, где много-много диких обезьян записей уже давно так и сделал. Там самая большая возня - ручная отрисовка стрелок на титл-батонах. Увы, придется сделать и на маленьких справочниках.

зы. похоже, в следующем релизе приклады я-таки сменю глючный эхлиб на девичий грид
Автор: rrromano
Дата сообщения: 21.09.2011 10:19

Цитата:
В главном гриде, где много-много диких обезьян записей уже давно так и сделал. Там самая большая возня - ручная отрисовка стрелок на титл-батонах. Увы, придется сделать и на маленьких справочниках.


Я для Оракла подсунул модуль серверной сортировки, а свойства в гриде выставил так, что всё работает на автомате, в том числе и стрелки на тайтл-батонах ). И мультисортировка работает тоже полноценно. Никаких особенных затрат.

Модуль EhlibFIB для серверной сортировки используете? Он в сорцах эхлиба есть. Вообще эхлиб стоит пристальнее изучить - я на него с девичего грида переполз в своё время и не жалею. Конечно, нет многих плюшек, но скорость и размер для меня важнее.
Автор: eddoc
Дата сообщения: 21.09.2011 16:22
rrromano

Цитата:
Модуль EhlibFIB для серверной сортировки используете?

Само собой. Он и сейчас подключен. Только, похоже, конфликтует с фибами, отправляя "неправильный" тип параметра в выше описанной функции.


Цитата:
Вообще эхлиб стоит пристальнее изучить - я на него с девичего грида переполз в своё время и не жалею.

А вот я, похоже, двигаюсь в обратном направлении. Поюзаю, поделюсь впечатлениями

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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