Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Вызов прцедуры из bpl   Найти похожие ветки 

 
SiDimka ©   (2012-04-06 22:41) [0]

Народ, помогите плиз!!!

Прогуглил все глаза, читаю, при статической загрузке bpl - exe знет все прцедуры bpl если добавлен юнит в uses.
Создаю Форму1 - все прекрасно, загружаю bpl Форму2 - все хорошо, Вызываю процедуру из Формы1:
Форма2.процедура;    А оно мне Форма2=nil.  

Подсажите пожалуйста как правильно вызвать процедуру из bpl.


 
Дмитрий С ©   (2012-04-06 22:43) [1]

Вообще почитать про BPL.


 
SiDimka ©   (2012-04-06 22:47) [2]

СУПЕР!!! Ответ в стиле гугл.

А реальную подсказку дать можно?


 
Игорь Шевченко ©   (2012-04-06 22:49) [3]


> А реальную подсказку дать можно?


можно
http://segfault.kiev.ua/smart-questions-ru.html


 
Сергей М. ©   (2012-04-06 22:56) [4]


> как правильно вызвать процедуру из bpl


точно так же как и не из bpl - правила Паскаля никто не отменял.


 
SiDimka ©   (2012-04-06 23:09) [5]

Так и делаю.

procedure TForm1.Button1Click(Sender: TObject);
begin
 TForm2.procedureН;
end;

Undeclared identifier: "Form2"


 
Сергей М. ©   (2012-04-06 23:12) [6]


> А оно мне Форма2=nil.


не имеет отношения к


> Undeclared identifier: "Form2"


 
SiDimka ©   (2012-04-06 23:17) [7]

А к чему имеет?


 
Anatoly Podgoretsky ©   (2012-04-06 23:17) [8]

> SiDimka  (06.04.2012 22:41:00)  [0]

А может ты правильно вызываешь.


 
Anatoly Podgoretsky ©   (2012-04-06 23:19) [9]

> Сергей М.  (06.04.2012 23:12:06)  [6]

Оно вообще не откомпилируется, так что говорить о Форма2=nil не приходится.


 
Сергей М. ©   (2012-04-06 23:21) [10]


> А к чему имеет?


Тебе видней к чему)
Нам отсюда не видать.


 
SiDimka ©   (2012-04-06 23:21) [11]

>точно так же как и не из bpl - правила Паскаля никто не отменял.

Form2.ShowModal;


 
Сергей М. ©   (2012-04-06 23:22) [12]


> Anatoly Podgoretsky ©   (06.04.12 23:19) [9]


А вот у топикстартера и такие чудеса случаются)


 
Сергей М. ©   (2012-04-06 23:23) [13]


> Form2.ShowModal;


Чудесно.

И каким же святым духом в переменной Form2 оказалась Форма2 ?


 
SiDimka ©   (2012-04-06 23:28) [14]

procedure TForm1.ButtonClick(Sender: TObject);
begin
 Form2.ShowModal;
end;


 
Сергей М. ©   (2012-04-06 23:31) [15]

да едрёнматрён)

Где у тебя код, в котором происходит присвоение чего-то там переменной Form2 до того как ты вызываешь Form2.ShowModal ?


 
SiDimka ©   (2012-04-06 23:33) [16]

В Form1


 
Сергей М. ©   (2012-04-06 23:34) [17]


> В Form1


да ну понятно что не на луне !)

И долго ты еще будешь партизанить, не показывая этот фрагмент кода ?


 
Плохиш ©   (2012-04-06 23:41) [18]


> Сергей М. ©   (06.04.12 23:31) [15]

Ты не умничай, ты долларами подавай.
У сирого и убогого "высшее" образование.

> SiDimka ©   (06.04.12 23:28) [14]

Зачем оно тебе, это программирование? Тебе всë-равно не интересно. Основ не изучаешь, а без них и ответов понять не в состоянии, так и будешь с протянутой копи/пасте стоять поскуливая..


 
sniknik ©   (2012-04-06 23:42) [19]

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


 
Сергей М. ©   (2012-04-06 23:46) [20]


> Плохиш ©   (06.04.12 23:41) [18]
> ты долларами подавай.


По пятницам рука не поднимается)


 
SiDimka ©   (2012-04-06 23:54) [21]

В основной форме

uses UUsers;

procedure TFMain.UsersClick(Sender: TObject);
begin
  with TFUsers.Create(Application) do
      ShowModal;
end;

procedure TFMain.ButtonClick(Sender: TObject);
begin
  FUsers.ToolBar.Parent := FMain.CoolBarTools;  
end;

По началу был " Access Violation ", из-за  FUsers=nil

Убрал из проекта ***.bpl, перекомпилил, добавил заново.

Теперь Build: [Error] UMain.pas(194): E2003 Undeclared identifier: "FUsers"


 
sniknik ©   (2012-04-07 00:02) [22]

> Undeclared identifier: "FUsers"
ну, нету значит его там..., TFUsers есть, раз не "ругается", а FUsers нету.
считаешь по другому? докажи!


 
sniknik ©   (2012-04-07 00:03) [23]

> По началу был " Access Violation ", из-за  FUsers=nil
а вот тогда, был... но только, не инициализированный.


 
Сергей М. ©   (2012-04-07 00:05) [24]


> По началу был " Access Violation ", из-за  FUsers=nil


И ты бросился убирать, перекомпилять, зановодобавлять, вместо того чтобы вникнуть почему же собственно FUsers=nil ?


 
имя   (2012-04-07 00:07) [25]

Удалено модератором


 
SiDimka ©   (2012-04-07 00:56) [26]

Может и мыль была глупая, ноя подумал, что ошибка возникла при нарушеном порядке создания проекта. Имеется ввиду, что сначала FUsers был создан в exe, а потом добавлен в bpl. Поэтому и <И ты бросился убирать, перекомпилять, зановодобавлять>


 
sniknik ©   (2012-04-07 01:07) [27]

так понимаю, "реальную подсказку" из [3] ты так и не осилил... как и справку/основы по дельфям.
раз так то ветку наверное нужно закрыть, толку с нее не будет.


 
SiDimka ©   (2012-04-07 01:15) [28]

Всем огромное спасибо все ОК подказка оказалась в (TFUsers есть, раз не "ругается", а FUsers нету.)

Не знаю каким образом но отсутствовал

var
 FUsers: TFUsers;

видать случайно, как-то удалил.  Но FUsers=nil остался буду искать в че причина.


 
Германн ©   (2012-04-07 01:31) [29]


> Но FUsers=nil остался буду искать в че причина.
>

with TFUsers.Create(Application) do


 
SiDimka ©   (2012-04-07 01:35) [30]

И всетаки вопрос остался. Почему FUsers загруженя из bpl в FMain ухдит в nil.


 
Германн ©   (2012-04-07 01:51) [31]


> И всетаки вопрос остался. Почему FUsers загруженя из bpl
> в FMain ухдит в nil

В bpl создается (если создается) форма некоторого класса. А вот ссылку на нее вы благополучно выбрасываете.


 
SiDimka ©   (2012-04-07 01:54) [32]

>Германн ©

Огромнейшее спасибо. Помогло.

"День потрачен не зря - если есть резултат!!!"


 
Германн ©   (2012-04-07 01:58) [33]


> День потрачен не зря - если есть резултат

Один день sniknik © + один день Сергей М. © пропали даром. :(


 
SiDimka ©   (2012-04-07 02:05) [34]

>Один день sniknik © + один день Сергей М. © пропали даром. :(

Но и чайники достигая определенного уровня знаний, перестают быть оными.

Еще раз ВСЕМ ОГРОМНОЕ СПАСИБО!!!


 
Германн ©   (2012-04-07 02:18) [35]


> Но и чайники достигая определенного уровня знаний, перестают
> быть оными.

Если они читают учебники (вообще книги/справку/msdn и т.п), то да такое бывает. Если достигать "определенного уровня" только на форумах, то такого не бывает никогда!

Но раз моя "не совсем определенная" подсказка помогла, то не все еще потеряно. :)


 
Anatoly Podgoretsky ©   (2012-04-07 09:37) [36]

> SiDimka  (06.04.2012 23:54:21)  [21]

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


 
Anatoly Podgoretsky ©   (2012-04-07 09:40) [37]

> Германн  (07.04.2012 02:18:35)  [35]

Есть надежда на третью подсказку.


 
Плохиш ©   (2012-04-07 10:26) [38]

Следующий вопрос от этого будет: Печму я присваю а он не писвает?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.081 c
15-1344012320
wl
2012-08-03 20:45
2013.03.22
посоветуйте Фильм (именно так, с большой буквы)


15-1334223202
brother
2012-04-12 13:33
2013.03.22
в win7 теперь это возможно?


1-1302684323
MrBadge
2011-04-13 12:45
2013.03.22
KeyPreview


15-1350648132
toto
2012-10-19 16:02
2013.03.22
C# GridView


15-1348391377
333333-й
2012-09-23 13:09
2013.03.22
State Mashine. Объясните.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский