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

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

Автор: JAPWork
Дата сообщения: 14.05.2011 09:28
R3Pa4eK

Цитата:
object png: TPNGObject - он ругается на эту строку Что не так?

За 4 месяца наколбасить 700 сообщений - вот что не так. Лучше бы это время потратили на чтение любой книжки, хотя бы типа Фаронова. Для начала - этого с головой.
А объекты в Дельфи создаются примерно так.
png := TPngImage.Create;
Все же - прочитайте хотя бы одну книжку.
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 09:37
JAPWork

Цитата:
Лучше бы это время потратили на чтение любой книжки, хотя бы типа Фаронова.

Спасибо, сейчас начну читать

Цитата:
А объекты в Дельфи создаются примерно так.

Точно, забыл про Create. Спасибо!
Только все равно не хочет работать Left, Top и т.д.
png.Left:= 12 - ошибка, он не понимает что такое left.
[more=Код моей библиотеки]
library ISLogoDraw;

uses
Windows, pngimage;

var
png: TPNGObject;

procedure logo_repaint(Handle:HWND; logo: AnsiString; Left, Top, Width, Height: Integer); stdcall;
begin
png := TPNGObject.Create;
with png do begin
Parent:= Handle;
LoadFromFile(logo);
Left :=Left;
Top :=Top;
Width :=Width;
Height :=Height;
end
end;

procedure logo_free(); stdcall;
begin
png.Free;
end;

exports logo_repaint;
exports logo_free;

begin
end.
[/more]
Автор: JAPWork
Дата сообщения: 14.05.2011 11:04
R3Pa4eK

Цитата:
png.Left:= 12 - ошибка, он не понимает что такое left.

И правильно делает, что не понимает. Ну нет у него такого Left. Дескриптор окна - есть, его ширина и высота - есть. А вот левой границы - нету. Без надобности...
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 11:08
JAPWork
И на Width, Height и Parent он тоже ошибку выбивает. У меня Делфи вообще ничего не понимает OnClick он тоже не знает. В var пишу lebel: TLabel; он ошибку выбивает. Что это такое?
Автор: JAPWork
Дата сообщения: 14.05.2011 14:55
R3Pa4eK

Цитата:
Что это такое?

Какая Delphi? Как ставили?
Попробуйте новый проект с пустой формой, на которой размещена TLabel. Если и в этом случае
будет ругаться на оную, то не настроены пути к библиотекам.
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 15:08
JAPWork

Цитата:
Какая Delphi?

На разных пробовал. Delphi 7, 10. Ни там ни там не работает.

Цитата:
Как ставили?

Скачал и установил.

Цитата:
Попробуйте новый проект с пустой формой, на которой размещена TLabel.

Все равно не работает

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

А как их настроить?
Автор: Man_Without_Face
Дата сообщения: 14.05.2011 15:31
Доброго времени суток.
Пишу по технологии DataSnap (Delphi 2011) приложение клиент-сервер. Вчера все работало по протоколу http. Сегодня SQLConntction при подключении выдает ошибку: Protocol http can by used after an adequate instance of TDBXCommunicationLayer is registerd with TDBXCommuntcationLayerFactore.
В мануале есть решение: Устранить эту ошибку можно с помощью добавления модуля DSHTTPLayer в секцию uses (например, в форме ClientForm) клиента DataSnap.
Но это не помогает. DSHTTPLayer в Uses даже на первом месте.
В нете нашел топик: ---https://forums.embarcadero.com/thread.jspa?threadID=36090
Сделал тоже самое: из pas файла сделал bpl и проинсталил.
Был при инсталле задан вопрос: The following changes are necessare to make this package compatible with other installed packages. Choose OK to apply these changes and rebuild the package.
(Add dsnap. Add dbrtl. Add IndyCore. Add IndySystem. Add IndyProtocols. Add DbxCommonDriver. Add DbxClientDriver.)
Проблема вроде бы решилась. Но теперь при открытии проекта с сервером сайбейсовский компонент БД я не вижу: Cannot load package 'DataSnapIndy10ServerTransport150'. It contains unit 'DSHTTPLayer', which is also contained in package 'Package1'. Ignore the error and continue? Note: Ignoring the error may cause components to be deleted or property values to be lost.
Можно ли как нибудь по другому зарегистрировать DSHTTPLayer или же решить проблему с sybase.
Автор: JAPWork
Дата сообщения: 14.05.2011 17:15
R3Pa4eK
В меню Tools / Options / Environment Options/ Delphi Options посмотрите параметр Library (Library Path и Browsing Path).
Для DelphiXE в них что-нибудь вроде "$(BDSLIB)\$(Platform)\release;$(BDS)\Imports;$(BDSCOMMONDIR)\Dcp;$(BDS)\include;$(BDS)\RaveReports\Lib;C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\RC5\Lib\RS-XE"
или "$(BDS)\SOURCE\VCL;$(BDS)\source\rtl\common;$(BDS)\SOURCE\RTL\SYS;$(BDS)\source\rtl\win;$(BDS)\source\ToolsAPI;$(BDS)\SOURCE\IBX;$(BDS)\source\Internet;$(BDS)\SOURCE\PROPERTY EDITORS;$(BDS)\source\soap;$(BDS)\SOURCE\XML;$(BDS)\source\db;$(BDS)\source\Indy10\Core;$(BDS)\source\Indy10\System;$(BDS)\source\Indy10\Protocols;$(BDS)\source\database;"
Что у Вас там?
Автор: spasius
Дата сообщения: 14.05.2011 17:22
Man_Without_Face
Indy часом не обновлялся на системе? Обновление Indy это верная гибель DataSnap.
Индикатором этого является Cannot load package 'DataSnapIndy10ServerTransport150' при запуске студии
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 17:34
JAPWork
Вот такое у меня в Library:
$(DELPHI)\Lib
$(DELPHI)\Bin;$(DELPHI)\Imports;$(DELPHI)\Projects\Bpl;$(DELPHI)\Rave5\Lib;
$(DELPHI)\Projects\Bpl;$(DELPHI)\Projects\Bpl
$(DELPHI)\source\vcl;$(DELPHI)\Source\Rtl
$(DELPHI)\source\rtl\Corba45;$(DELPHI)\source\rtl\Sys;$(DELPHI)\source\rtl\Win;$(DELPHI)\source\rtl\common;$(DELPHI)\source\Internet;$(DELPHI)\source\clx;$(DELPHI)\source\websnap;$(DELPHI)\Source\WebMidas;$(DELPHI)\Source\Indy;$(DELPHI)\Source\IntraWeb;$(DELPHI)\Source\Samples;$(DELPHI)\Source\Soap;$(DELPHI)\Source\ToolsAPI;$(DELPHI)\Source\Xml
Автор: JAPWork
Дата сообщения: 14.05.2011 18:27
R3Pa4eK
Созданный заново чистый проект с одной только TLabel на форме дает ошибку при компиляции?
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 18:45
JAPWork
Да
Автор: JAPWork
Дата сообщения: 14.05.2011 18:52
R3Pa4eK
Ну что могу сказать... Снести, почистить реестр и папки, попробовать поставить заново.
В свежепоставленной Delphi, в которой не успел никто поковыряться руками, такие пробные чистые проекты должны компилироваться влет...

Добавлено

Иногда такое получается, если были последовательно установлены разные версии и создалась путаница в переменных окружения типа ($BDS) или ($DELPHI) после удаления одной из версий.
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 19:56
JAPWork
Да я уже понял в чем ошибка. В uses надо прописать:
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

Добавлено:
Есть еще какие-нибудь способы загрузки изображения (не только .png) в память?
Автор: JAPWork
Дата сообщения: 14.05.2011 20:10
R3Pa4eK

Цитата:
В uses надо прописать:
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

Вообще говоря - это Delphi должна проделать автоматом. При помещении на форму компонента ИДЕ сама обеспечивает какие нужно модули в списке uses
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 20:17
JAPWork
Значит у меня что-то с Delphi. Попробую переустановить винду, может тогда все получиться.

Еще вопросик:

Цитата:

Есть еще какие-нибудь способы загрузки изображения (не только .png) в память?

Автор: spasius
Дата сообщения: 14.05.2011 20:41
R3Pa4eK
Конечно есть. Создаем динамический объект в памяти класса TPngImage. И работаем с ним.
Автор: R3Pa4eK
Дата сообщения: 14.05.2011 20:47
spasius
Не подскажете как это сделать?
Автор: Frodo_Torbins
Дата сообщения: 14.05.2011 21:04
R3Pa4eK
Ну и флудер вы. Вам тут советовали книжки для новичков почитать. Так вот: после чтения любой из них, у вас не возникло бы ни одного вопроса, которые вы задавали в этом топике. Делайте выводы
Для работы с разными графическими форматами в делфи существуют разные классы. По одному на формат. Работать с ними всеми одновременно можно с помощью класса TPicture. Как это сделать - опять же читайте в книгах, к примеру "Программирование в Delphi 7" Дарахвелидзе и Маркова.
Автор: Man_Without_Face
Дата сообщения: 16.05.2011 08:39
spasius

Цитата:
Indy часом не обновлялся на системе?

Да вроде нет

Цитата:
Индикатором этого является Cannot load package 'DataSnapIndy10ServerTransport150' при запуске студии

Это вылазит при загрузке проекта с БД.

И еще после установки Delphi 2011, перестала заускаться Delphi 2009:
"Значение не может быть неопределенным. Имя параметра key.

Автор: druff
Дата сообщения: 16.05.2011 13:12
А случайно никто не знает, как почистить записи реестра связанные с делфи? Поясню суть проблемы: установил Delphi XE (до этого стояли Turbo2006 и 2010) и постоянно натыкаюсь на какие-то проблемы. Например:

1) изначально были не совсем корректные пути к каталогу Lib
2) в Data Explorer не видно ни одного драйвера dbExpress
3) при попытке редактирования свойства SQL у компонент TIBDataSet, TIBQuery выскакивает Access Violetion. Причём если эти компоненты отвязать от TIBDatabase и TIBTransaction, то никакие ошибки не возникают. Пробовал на разных базах и разных серверах

вот такие пироги.. Есть какие-нибудь предложения/предположения (третий пункт особенно раздражает, работать невозможно)?
Автор: aidarsimon
Дата сообщения: 16.05.2011 13:32
druff
уже приходилось отвечать на аналогичный вопрос

-Установите на виртуалку win xp или win 7, без разницы.

-Установите total uninstall

-Сделайте снимок реестра с максимальными настройками

-Установите делфю и сделайте снимок

-Сравните два снимка с помощью программы

ПС: самый надежный способ, лучше не найдете.
Автор: volod3000
Дата сообщения: 16.05.2011 15:46
Здравствуйте !

Замучался гуглить.

Как можно программно разместить на панели задач (windows 7)
иконку ?
Автор: Frodo_Torbins
Дата сообщения: 16.05.2011 22:17
volod3000
Создать окно?
Автор: volod3000
Дата сообщения: 16.05.2011 22:30
Например , создаем ярлык (программы, папки, диска) и помещаем его
в папку :

"C:\Users\volod5000\AppData\Roaming \Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar"

где расположены ярлыки (проводник , IE и т.д.) созданные системой.

В реестре описание этих значков :

HKEY_CURRENT_USER\Software\Microsof t\Windows\CurrentVersion\Explorer\T askband

Так, вот самое сложное (для меня) отредактировать эти строки в реестре,
с учетом добавленных ярлыков.
Автор: m0nty2k5
Дата сообщения: 16.05.2011 22:52
Продолжаю потихоньку вспоминать дельфи и тут сталкиваюсь с приколом:
- условие "Width in [X-10..X+10]"
- Width = 100, X = 100
- условие НЕ выполняется

Где собака?

Добавлено:
Разобрался - ограничение языка ... и Width было больше байта - не думал, что собака в размерах.
Автор: Frodo_Torbins
Дата сообщения: 17.05.2011 21:26
volod3000
Майкрософт не рекомендует программам самостоятельно закрепляться на панели задач.
Автор: volod3000
Дата сообщения: 17.05.2011 23:39

Цитата:
Майкрософт не рекомендует программам самостоятельно закрепляться на панели задач.



Майкрософт много чего не рекомендует.
Автор: Man_Without_Face
Дата сообщения: 19.05.2011 16:49
Вопрос вроде простой, но ничего не получается:
Из Dll через SQLConnection подключаюсь к серверу по технологии DataSnap.
В дезайн-тайм параметры заданы. Но почему не получается задать при ран-тайме другие настройки (используются заданные в дизайне)?:
procedure TDM.DataModuleCreate(Sender: TObject);
begin
SQLConnection.Close;
SQLConnection.Params.values['DSAuthPassword'] := '111';
SQLConnection.Open;
end;
Автор: Andryshok
Дата сообщения: 19.05.2011 18:40
Man_Without_Face Ваш код для изменения параметра правильный, а в рантайме программа подключается к серверу ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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