Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2009, 16:33   #1
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию DLL b свойства формы ???

Народ подскажите как в DLL обратиться к свойствам формы, например к ее Высоте или Ширине???

Вот писал DLL, но оно чето не пашет, ругается, мол не знает что такое Width, Height,Top, Left.

Код:
library Project1;

uses
  SysUtils,
  Classes,
  inifiles;
{$R *.res}
procedure WriteINI(); stdcall;
var
    FileIni:TIniFile;
begin
FileIni:=TIniFile.Create('C:\Documents and Settings\Admin\Рабочий стол\Работа с INI файлами\MyINI.ini');
FileIni.WriteInteger('Window','Width',Width);
FileIni.WriteInteger('Window','Height',Height);
FileIni.WriteInteger('Window','Top',Top);
FileIni.WriteInteger('Window','Left',Left);
FileIni.Free;
end;

procedure ReadINI(); stdcall;
var
    FileIni:TIniFile;
begin
FileIni:=TIniFile.Create('C:\Documents and Settings\Admin\Рабочий стол\Работа с INI файлами\MyINI.ini');
Width:=FileIni.ReadInteger('Window','Width',Width);
Height:=FileIni.ReadInteger('Window','Height',Height);
Top:=FileIni.ReadInteger('Window','Top',Top);
Left:=FileIni.ReadInteger('Window','Left',Left);
FileIni.Free;
end;

exports
  WriteINI;
  ReadINI;
begin
end.
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 09.02.2009 в 16:59.
spamer вне форума Ответить с цитированием
Старый 09.02.2009, 17:27   #2
]Wowan[
Delphi forever
Форумчанин
 
Аватар для ]Wowan[
 
Регистрация: 13.01.2009
Сообщений: 113
Смех

Ну правильно откуда ему их знать. передай в ReadINI имя формы, а в этой процедуре используй его и свойства Left, top и др.
Программы на заказ Delphi, Pascal.
ася: 415 253 529. Мыло: wowan141750@gmail.com.
]Wowan[ вне форума Ответить с цитированием
Старый 09.02.2009, 17:32   #3
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Мне кажется что в uses надо объявить Forms
И обращатся типа Form1.Width := FileIni.ReadInteger('Window','Width ',Form1.Width);
И записывать FileIni.WriteInteger('Window','Widt h',Form1.Width);

Последний раз редактировалось lexaltd; 09.02.2009 в 17:38.
lexaltd вне форума Ответить с цитированием
Старый 09.02.2009, 17:34   #4
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Сообщение от ]Wowan[ Посмотреть сообщение
Ну правильно откуда ему их знать. передай в ReadINI имя формы, а в этой процедуре используй его и свойства Left, top и др.
Пишу следующее
procedure WriteINI(Form1 : TForm); stdcall;
Оно не работает. Можешь пример написать, как передать правильно???
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 09.02.2009 в 17:38.
spamer вне форума Ответить с цитированием
Старый 09.02.2009, 17:36   #5
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Сообщение от lexaltd Посмотреть сообщение
Мне кажется что в uses надо объявить Forms
И обращатся типа Form1.Width := FileIni.ReadInteger('Window','Width ',Width);
Нет, так я пробовал - оно вообще даже не знает что такое Form1 .
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 09.02.2009, 17:36   #6
]Wowan[
Delphi forever
Форумчанин
 
Аватар для ]Wowan[
 
Регистрация: 13.01.2009
Сообщений: 113
Смех

Пардон за предадущий пост, не правильно выразился, передай в переменной дескриптор формы, потом используй процедуру WinApi
SetWindowsPos, она те сразу размер и положение установит.Есть вопросы иди в асю.
Программы на заказ Delphi, Pascal.
ася: 415 253 529. Мыло: wowan141750@gmail.com.
]Wowan[ вне форума Ответить с цитированием
Старый 09.02.2009, 17:42   #7
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Сообщение от ]Wowan[ Посмотреть сообщение
Пардон за предадущий пост, не правильно выразился, передай в переменной дескриптор формы, потом используй процедуру WinApi
SetWindowsPos, она те сразу размер и положение установит.Есть вопросы иди в асю.
Но мене надо не только с размером и расположением работать. Например как тогда обратиться к свойству Color ???
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 09.02.2009, 17:48   #8
]Wowan[
Delphi forever
Форумчанин
 
Аватар для ]Wowan[
 
Регистрация: 13.01.2009
Сообщений: 113
По умолчанию

Вот пример ↓
Программы на заказ Delphi, Pascal.
ася: 415 253 529. Мыло: wowan141750@gmail.com.

Последний раз редактировалось ]Wowan[; 11.04.2009 в 20:36.
]Wowan[ вне форума Ответить с цитированием
Старый 09.02.2009, 17:50   #9
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

в uses пропиши Unit1; и будет тогда знать что такое Form
StartMis вне форума Ответить с цитированием
Старый 09.02.2009, 18:01   #10
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Код:
// Если форма не в DLL 
procedure ReadINI(x,x1,x2,x3:integer); stdcall;
var
    FileIni:TIniFile;
begin
FileIni:=TIniFile.Create('C:\Documents and Settings\Admin\Рабочий стол\Работа с INI файлами\MyINI.ini');
x:=FileIni.ReadInteger('Window','Width',x);
x1:=FileIni.ReadInteger('Window','Height',x1);
x2:=FileIni.ReadInteger('Window','Top',x2);
x3:=FileIni.ReadInteger('Window','Left',x3);
FileIni.Free;
end;
{где
x = Width
x1 = Height
и т.д
так же и к другой процедуре
и к Color
}

Последний раз редактировалось lexaltd; 09.02.2009 в 18:07.
lexaltd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с отображением формы во внедеренной DLL Leloush Общие вопросы Delphi 10 31.01.2009 16:03
DLL и формы Andrei Isaev Компоненты Delphi 1 18.11.2008 18:25
блокировка вызова 2-го экземпляра формы из dll Roof Общие вопросы Delphi 6 27.08.2008 01:03
Работа из dll формы mauar Общие вопросы Delphi 3 05.05.2008 11:40
Свойства формы Teen4jump Общие вопросы Delphi 4 28.02.2008 01:29