![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 13
|
![]()
Добрый день (или) форумчане!
![]() Буду очень признателен. P.S. Библиотеки пишу первый раз, с основной архитектурой знаком ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
ActiveX .
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 13
|
![]()
В смысле?
library BlitzGui; uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; {$R *.res} function ShowMes(caption:PChar):integer;stdc all;export Begin result:=1; If result=1 then Begin ShowMessage(caption); end; end; function CreateForm(caption:PChar; name:PChar; width:integer; height:integer ;visible:integer ) : Integer; stdcall; var Form : TForm; begin Form := TForm.Create(Application); Form.Caption:=caption; Form.Name:=name; Form.Width:= width; Form.Height:=height; If visible=1 then Begin Form.Visible:=True end else Begin Form.Visible:=False; end; Result := Form.ShowModal; Form.Free; end; exports ShowMes,CreateForm; begin end. Вот собственно зачаток кода. Как через функцию создать? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> для создания кнопки
кнопка сама по себе не живет, напишите толком, где вы хотите, чтобы она появилась.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 22.02.2011
Сообщений: 13
|
![]() Цитата:
Есть язык программирования, называемый BlitzBasic (Blitz3D). Визуальное программирование в нём отсутствует. Только скриптинг. Мне понадобились визуальные компоненты, для работы, такие как: форма, кнопка, надписи и т. п. . Существуют сторонние библиотеки для этого скриптового языка, но они меня не устраивают. Вот я решил сам для себя написать библиотеку, которая бы содержал все те визуальные компоненты, которые мне нужны. А, собственно, размещаться все виз. компоненты должны на форме. Вот мне нужен, хотя бы один, пример создания компонента, чтобы дальше разобраться. ![]() |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 13
|
![]()
Function CreateButton:integer;stdcall;export ;
var but:TButton; begin but:=TButton.Create(application); but.Parent:=Form; result:=but.ModalResult; end; Вот - написал функцию, но что-то не работает. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
Ничего не понял, ну ладно, не важно )
Ну вот форму вы создали, так? Через CreateForm(). Там надо переделать из модальной в обычную и хранить указатель на неё, ну это мелочи. Теперь на неё можно вешать любые контролы. Ту же кнопку: Код:
Дальше, надо подумать, как сделать обратные вызовы (callback), чтобы при нажатии на кнопку, например, вызывалась какая-то процедура на BlitzBasic. Это уже от возможностей самого BlitzBasic зависит.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 22.02.2011
Сообщений: 13
|
![]() Цитата:
library BlitzGui; uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; var Form : TForm; Button:TButton; {$R *.res} function ShowMes(caption:PChar):integer;stdc all;export Begin result:=1; If result=1 then Begin ShowMessage(caption); end; end; Procedure CreateButton();stdcall;export; begin Button := TButton.Create(Form); Button.Caption := 'OK'; Button.Left := 100; Button.Top := 100; Button.Width := 40; // Button.Parent := Form; {result:=1; } end; function CreateForm(caption:PChar; name:PChar; width:integer; height:integer ) : Integer; stdcall; begin Form := TForm.Create(Application); Form.Caption:=caption; Form.Name:=name; Form.Width:= width; Form.Height:=height; Result := Form.ShowModal; Form.Free; end; exports ShowMes,CreateForm,CreateButton; begin end. |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 13
|
![]()
Я нашёл предполагаемые неисправности.
Вот: Button := TButton.Create(Form); Button.Parent := [COLOR="rgb(139, 0, 0)"]Form[/COLOR]; Выделенно красным. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
А как может работать форма после вызова Form.Free?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пытаюсь понять код user32.dll и gdi32.dll | Beermonza | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 43 | 13.07.2010 15:09 |
Windows I/o без Kernel32.dll и Advapi32.dll | coinkrsk | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 31 | 27.06.2010 08:52 |
Компоненты в DLL | Bulbo | Общие вопросы Delphi | 4 | 27.03.2010 16:15 |
[DLL] Загрузка и выгрузка dll в/из чужого процесса | Человек_Борща | Win Api | 4 | 28.02.2010 17:47 |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |