Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.30;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
14-97411
MBo
2002-04-22 09:25
2002.05.30
Новая задачка


3-97204
IvanovSergey
2002-05-05 01:14
2002.05.30
TIBQuery.RowsAffected не рабтает


3-97124
Dangerouse
2002-05-06 13:41
2002.05.30
SQL запрос на обнавление Paradox таблицы


6-97365
ev
2002-03-16 13:38
2002.05.30
утечка в Indy


1-97338
Anry
2002-05-20 09:18
2002.05.30
WinXP и поиск в проводнике