Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
ВнизРабота с Install Shield Express Найти похожие ветки
← →
kamchatik (2003-07-23 16:24) [0]Такой вопрос:
Есть готовая программа, надо написать на нее сетап, решил воспользоваться Install Shield 3.5 - но не знаю как указать в нем алиас, решил переделать прогу - т.е. таблицы работают не через алиас а через указаный путь, но возникла другая проблема - в программе есть компоненты Query которые тоже требуют указания алиаса, пробовал прописывать путь к таблице в самом запросе но тоже не работает. Подскажите что делать?
← →
Anatoly Podgoretsky (2003-07-23 16:38) [1]TDatabase используй
← →
AbrosimovA (2003-07-23 16:41) [2]Можно также написать код в программе, который бы создавал элиас.
← →
kamchatik (2003-07-23 16:41) [3]Прошу прощения за свою тупость и назойливость но нельзя ли поподробней?
← →
AbrosimovA (2003-07-23 16:49) [4]Вот тебе пример автоматического создания элиаса при запуске программы.
Program Book;
uses
Forms,
Windows,
Registry,
SysUtils,
Classes,
DBTables,
Splash in "Splash.pas" {SplashForm},
Module in "Module.pas" {DataModule1: TDataModule},
Data in "Data.pas" {MainForm},
Login in "Login.pas" {PasswordDlg},
Change in "Change.pas" {PasswordDlg1},
About in "About.pas" {AboutBox};
{$R *.RES}
var L : TStringList;
Index: integer;
Flag2: boolean;
begin
with TRegistry.create do
begin
Rootkey := HKEY_LOCAL_MACHINE;
if Not (OpenKey("SOFTWARE\BORLAND\DATABASE ENGINE", false)) then
begin
MessageBox(0,PChar("Не установлена BDE."),
PChar("Телефонный справочник"), mb_OK);
Application.Terminate;
end
else
begin
CFGFile := ReadString("CONFIGFILE01");
Free;
try
Application.CreateForm(TDataModule1, DataModule1);
except
MessageBox(0,PChar("Ошибка настройки базы данных
Paradox !!!"),
PChar("Телефонный справочник"), mb_OK);
Application.Terminate;
end;
DataModule1.Session1.ConfigMode := cmPersistent;
L := TStringList.Create;
try
DataModule1.Session1.GetAliasNames(L);
for Index := 0 to L.Count - 1 do
if L.Strings[Index]="MyBase" then Flag2:=true;
if NOT(Flag2) then
begin
L.Add("PATH="+ExtractFilePath(Application.Exename)
+"Data");
DataModule1.Session1.AddAlias("MyBase", "STANDARD", L);
DataModule1.Session1.SaveConfigFile;
end;
DataModule1.Cust.Active:=true;
finally
L.Free;
end;
try
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
SplashForm.Hide;
finally
SplashForm.Free;
end;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TPasswordDlg, PasswordDlg);
Application.CreateForm(TPasswordDlg1, PasswordDlg1);
( TAboutBox, AboutBox) Вот тебе пример автоматического создания элиаса при запуске программы.
Program Book;
uses
Forms,
Windows,
Registry,
SysUtils,
Classes,
DBTables,
Splash in "Splash.pas" {SplashForm},
Module in "Module.pas" {DataModule1: TDataModule},
Data in "Data.pas" {MainForm},
Login in "Login.pas" {PasswordDlg},
Change in "Change.pas" {PasswordDlg1},
About in "About.pas" {AboutBox};
{$R *.RES}
var L : TStringList;
Index: integer;
Flag2: boolean;
begin
with TRegistry.create do
begin
Rootkey := HKEY_LOCAL_MACHINE;
if Not (OpenKey("SOFTWARE\BORLAND\DATABASE ENGINE", false)) then
begin
MessageBox(0,PChar("Не установлена BDE."),
PChar("Телефонный справочник"), mb_OK);
Application.Terminate;
end
else
begin
CFGFile := ReadString("CONFIGFILE01");
Free;
try
Application.CreateForm(TDataModule1, DataModule1);
except
MessageBox(0,PChar("Ошибка настройки базы данных
Paradox !!!"),
PChar("Телефонный справочник"), mb_OK);
Application.Terminate;
end;
DataModule1.Session1.ConfigMode := cmPersistent;
L := TStringList.Create;
try
DataModule1.Session1.GetAliasNames(L);
for Index := 0 to L.Count - 1 do
if L.Strings[Index]="MyBase" then Flag2:=true;
if NOT(Flag2) then
begin
L.Add("PATH="+ExtractFilePath(Application.Exename)
+"Data");
DataModule1.Session1.AddAlias("MyBase", "STANDARD", L);
DataModule1.Session1.SaveConfigFile;
end;
DataModule1.Cust.Active:=true;
finally
L.Free;
end;
try
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
SplashForm.Hide;
finally
SplashForm.Free;
end;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TPasswordDlg, PasswordDlg);
Application.CreateForm(TPasswordDlg1, PasswordDlg1);
Application.CreateForm(TAboutBox, AboutBox);
Application.Run;
end;
end;
← →
kamchatik (2003-07-23 16:52) [5]Так вкдь сетап делается для того чтобы BDE не ставить. Поэтому его не будет - как я понимаю (а может и неправ) там только драйваки какието добавляются
← →
Sandman25 (2003-07-23 16:54) [6]Если есть TQuery, то есть и BDE.
← →
Anatoly Podgoretsky (2003-07-23 16:55) [7]Тебя обманули, setup делают для того, что бы просто было инсталлировать и деинсталлировать продукт. К БДЕ и другим библиотекам это имеет только косвенное отношение.
← →
AbrosimovA (2003-07-23 16:57) [8]Как же у тебя программа будет работать без BDE?
InstallShield также ставит BDE.
← →
kamchatik (2003-07-23 16:58) [9]Ладно всем спасибо, хотелось как лучше получилось как всегда :)
Будем делать все старым проверенным путем: BDE, установка алиаса, перепись программы и таблиц. :)
← →
Anatoly Podgoretsky (2003-07-23 17:01) [10]Ну ладно мучайся.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c