Форум: "Основная";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
ВнизDelphi BPL Найти похожие ветки
← →
Noname111 (2002-05-16 19:01) [0]Delphi BPL
Есть BPL(DPL) как можно считать информацию о том,
что в ней есть(классы,ресурсы и т.д.)
← →
NoName111 (2002-05-16 19:08) [1]Проблема такая : необходимо считать BPL , создать список всех классов описанных в этой BPL и по выбору иэ списка создать объект выбранного класса.
← →
Игорь Шевченко (2002-05-17 10:21) [2]День добрый,
А файл .dcp есть от этого bpl ?
← →
bender_b_r (2002-05-17 20:36) [3]Нет Есть только BPL.
Хотя если он есть как это сделать?
Подскажите хоть что-нибудь в этом направлении, а то курсовая горит синим пламенем.
← →
NoName111 (2002-05-17 20:40) [4]NoName111~bender_b_r
← →
NoName111 (2002-05-18 07:51) [5]refresh
← →
Игорь Шевченко (2002-05-18 10:41) [6]День добрый,
Тот, кто дает такие курсовые задания, явно не прав. Одного BPL недостаточно, чтобы определить ( а тем более, создать) стандартными путями экземпляры классов.
На всякий случай программа, которая унает, какие unitы есть в пакете:
{
Определение списка unit"ов в пакете.
Игорь Шевченко, 2002
}
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
od: TOpenDialog;
Panel1: TPanel;
Button1: TButton;
Memo1: TListBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
IniFiles;
{$R *.DFM}
procedure MyPackageSniffProc (const Name: string; NameType: TNameType;
Flags: Byte; Param: Pointer);
begin
case NameType of
ntContainsUnit:
TListBox(Param).Items.Add(Format("contains %s", [Name]));
ntRequiresPackage:
TListBox(Param).Items.Add(Format("requires %s", [Name]));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
hd : HMODULE;
Flags : Integer;
begin
Memo1.Items.Clear();
if od.Execute then begin
with TIniFile.Create(ChangeFileExt(Application.ExeName, ".INI")) do
try
WriteString("Main", "InitialDir", ExtractFilePath(od.FileName));
finally
Free();
end;
hd := LoadPackage(od.FileName);
GetPackageInfo(hd, Memo1, Flags, MyPackageSniffProc);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with TIniFile.Create(ChangeFileExt(Application.ExeName, ".INI")) do
try
od.InitialDir := ReadString("Main", "InitialDir", "");
finally
Free();
end;
end;
end.
С уважением,
← →
NoName111 (2002-05-19 12:08) [7]Большоее спасибо за помощь
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c