![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Проблема следующего характера:
Есть прога. Но грабли в том, что она почему-то работает только на тех машинах где стоит Delphi. Матерится при запуске, что не найден компонет qtinft70.dll! Во вложении ПринСкрин ошибки! В чем проблема не понимаю.... Помогите пожалуйста! |
|
#2
|
||||
|
||||
|
Цитата:
Попробуй найти этот файл и включить его в установочный дистрибутив! |
|
#3
|
|||
|
|||
|
Поиск по всему винту не обнаружил такого файла!
Даже при поисе *.dll - такой файл отсутствует в системе! У меня тупо его нет!! Пробовал в InstallShield сделать дистрибутив - не помагло! Че за херня не знаю! Сам пользуюсь Delphi 7, да и работает при любых версиях Delphi, а без него не работет!![]() Как быть???просто не могу понять че это такое!? Помогите плиз............. |
|
#4
|
||||
|
||||
|
|
|
#5
|
|||
|
|||
|
<b>to Yurk@</b>
Цитата:
И что получается????????!!!! У меня прога работет с Office приложениями и мне необходимо печатать эти документы! Как с этим бороться?? Ниже код:Код:
Function PrintPreview:boolean; begin PrintPreview:=true; try E.ActiveWindow.SelectedSheets.PrintPreview; except PrintPreview:=false; end; End; Function PrintPreviewEx:boolean; begin PrintPreviewEx:=true; try E.Dialogs.Item[xlDialogPrintPreview].Show; except PrintPreviewEx:=false; end; End; Function ShowPrintDialog:boolean; begin ShowPrintDialog:=true; try E.Dialogs.Item[xlDialogPrint].Show; except ShowPrintDialog:=false; end; End; |
|
#6
|
||||
|
||||
|
Если ты используешь unit Printers то ты должен работать с файлом Printers.pas.
Разве не так? |
|
#7
|
|||
|
|||
|
to Yurk@
Логично! Но прикол в том, что даже если я его кидаю в инсталяху или просто в корень папки(в котрой исходник), то всеравно вылетает ошибка! |
|
#8
|
||||
|
||||
|
Попробуй закинуть его сюда:
C:\Program Files\Borland\Delphi7\Source\Vcl\ А это так, на всякий: Последний раз редактировалось Yurk@, 16.08.2009 в 16:39. |
|
#9
|
|||
|
|||
|
Не катит! Бегал как придурок по офису и проверял на машинах...толку нет!
![]() |
|
#10
|
||||
|
||||
|
Так как ты создал все функциии и процедуры с этим компонентом, если его у тебя нет.
Может плохо искал. P.S. Скинь исходник на мыло! Попробую у себя! |
|
#11
|
|||
|
|||
|
Код:
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst, ComObj, Printers, ExtCtrls; Код:
xlDialogPrint=8; xlDialogPrinterSetup=9; xlDialogPrintPreview=222; Код:
Function CreateExcel:boolean;
begin
CreateExcel:=true;
try
E:=CreateOleObject('Excel.Application');
except
CreateExcel:=false;
end;
End;
Function VisibleExcel(visible:boolean):boolean;
begin
VisibleExcel:=true;
try
E.visible:=visible;
except
VisibleExcel:=false;
end;
End;
Function AddWorkBook:boolean;
begin
AddWorkBook:=true;
try
E.Workbooks.Add;
except
AddWorkBook:=false;
end;
End;
Function OpenWorkBook(file_:string):boolean;
begin
OpenWorkBook:=true;
try
E.Workbooks.Open(file_);
except
OpenWorkBook:=false;
end;
End;
Function AddSheet(newsheet:string):boolean;
begin
AddSheet:=true;
try
E.ActiveWorkbook.Sheets.Add;
E.ActiveWorkbook.ActiveSheet.Name:=newsheet;
except
AddSheet:=false;
end;
End;
Function SaveWorkBookAs(file_:string):boolean;
begin
SaveWorkBookAs:=true;
try
E.DisplayAlerts:=False;
E.ActiveWorkbook.SaveAs(file_);
E.DisplayAlerts:=True;
except
SaveWorkBookAs:=false;
end;
End;
Function CloseWorkBook:boolean;
begin
CloseWorkBook:=true;
try
E.ActiveWorkbook.Close;
except
CloseWorkBook:=false;
end;
End;
Function CloseExcel:boolean;
begin
CloseExcel:=true;
try
E.Quit;
except
CloseExcel:=false;
end;
End;
Function SetRange(sheet:variant;range:string;value_:variant):boolean;
begin
SetRange:=true;
try
E.ActiveWorkbook.Sheets.Item[sheet].Range[range]:=value_;
except
SetRange:=false;
end;
End;
SetMergeCells(sheet:variant;range:string;MergeCells:boolean):boolean;
begin
SetMergeCells:=true;
try
E.ActiveWorkbook.Sheets.Item[sheet].Range[range].MergeCells:=MergeCells;
except
SetMergeCells:=false;
end;
end;
SetShrinkToFit(sheet:variant;range:string;ShrinkToFit:boolean):boolean;
begin
SetShrinkToFit:=true;
try
E.ActiveWorkbook.Sheets.Item[sheet].Range[range].ShrinkToFit:=ShrinkToFit;
except
SetShrinkToFit:=false;
end;
End;
Function PrintPreview:boolean;
begin
PrintPreview:=true;
try
E.ActiveWindow.SelectedSheets.PrintPreview;
except
PrintPreview:=false;
end;
End;
Function PrintPreviewEx:boolean;
begin
PrintPreviewEx:=true;
try
E.Dialogs.Item[xlDialogPrintPreview].Show;
except
PrintPreviewEx:=false;
end;
End;
Function ShowPrintDialog:boolean;
begin
ShowPrintDialog:=true;
try
E.Dialogs.Item[xlDialogPrint].Show;
except
ShowPrintDialog:=false;
end;
End;
Function SetBorderRange(sheet:variant;range:string;Edge,LineStyle,Weight,ColorIndex,Color:integer):boolean;
begin
SetBorderRange:=true;
try
E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Borders.item[Edge].LineStyle:=LineStyle;
E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Borders.item[Edge].Weight:=Weight; if ColorIndex>0 then E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Borders.item[Edge].ColorIndex:=ColorIndex
else
E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Borders.item[Edge].Color:=color;
except
SetBorderRange:=false;
end;
End;Код:
Procedure Form1.Button1Click(Sender : TObject);
begin
if not createExcel then exit;
OpenWorkBook(getcurrentdir+'\ADP_VED\template.xls');
end;
var bl:boolean;
i,kol,j,jj,count:integer;
f:textfile;
s,ExportExcel,PrintExcel,SaveExcel:string;
begin
if strtoint(label11.Caption)>30 then begin
application.MessageBox('Маршрут №1. Максимум 30 заведений на один маршрут.','Ошибка',0);
exit;
end;
if strtoint(label13.Caption)>30 then begin
application.MessageBox('Маршрут №2. Максимум 30 заведений на один маршрут.','Ошибка',0);
exit;
end;
if strtoint(label13.Caption)>30 then begin
application.MessageBox('Маршрут №3. Максимум 30 заведений на один маршрут.','Ошибка',0);
exit;
end;
bar_vdm_form.show;
bar_vdm_form.ProgressBar1.Min:=0;
bar_vdm_form.ProgressBar1.Max:=100;
listbox1.clear;
listbox2.clear;
listbox1.Items.add('');
listbox2.Items.add('');
listbox3.clear;
listbox4.clear;
listbox3.Items.add('');
listbox4.Items.add('');
for i:=1 to checklistbox1.Items.count-1 do begin
if checklistbox1.Checked[i]=true then begin
listbox1.Items.Add(checklistbox1.Items.Strings[i]);
Assignfile(f,getcurrentdir+'\ADP_VED\Днепропетровск.adp');
Reset(f);
while not eof(f) do begin
readln(f,s);
if s=checklistbox1.Items.Strings[i] then begin
readln(f,s);
listbox2.Items.Add(s);
end;
end;
CloseFile(f) end;
end;
for i:=1 to checklistbox2.Items.count-1 do begin
if checklistbox2.Checked[i]=true then begin
listbox3.Items.Add(checklistbox2.Items.Strings[i]);
Assignfile(f,getcurrentdir+'\ADP_VED\Днепропетровск.adp');
Reset(f);
while not eof(f) do begin
readln(f,s);
if s=checklistbox2.Items.Strings[i] then begin
readln(f,s);
listbox4.Items.Add(s);
end;
end;
CloseFile(f) end;
end;
for i:=1 to checklistbox3.Items.count-1 do begin
if checklistbox3.Checked[i]=true then begin
listbox5.Items.Add(checklistbox3.Items.Strings[i]);
Assignfile(f,getcurrentdir+'\ADP_VED\Днепропетровск.adp');
Reset(f);
while not eof(f) do begin
readln(f,s);
if s=checklistbox3.Items.Strings[i] then begin
readln(f,s);
listbox6.Items.Add(s);
end;
end;
CloseFile(f) end;
end;
if not createExcel then exit;
OpenWorkBook(getcurrentdir+'\ADP_VED\template.xls');
if strtoint(label13.Caption)>0 then begin
for i:=1 to listbox1.Items.Count-1 do begin
if i mod 2=1 then begin
j:=j+8;
SetRange(1,'G'+inttostr(j),listbox1.Items.Strings[i]);
SetRange(1,'G'+inttostr(j+1),listbox2.Items.Strings[i]);
end;
if i mod 2=0 then begin
jj:=jj+8;
SetRange(1,'R'+inttostr(jj),listbox1.Items.Strings[i]);
SetRange(1,'R'+inttostr(jj+1),listbox2.Items.Strings[i]);
end;
end;
end;
if strtoint(label13.Caption)>0 then begin
j:=0;
jj:=0;
for i:=1 to listbox3.Items.Count-1 do begin
if i mod 2=1 then begin
j:=j+8;
SetRange(1,'AF'+inttostr(j),listbox3.Items.Strings[i]);
SetRange(1,'AF'+inttostr(j+1),listbox4.Items.Strings[i]);
end;
if i mod 2=0 then begin
jj:=jj+8;
SetRange(1,'AQ'+inttostr(jj),listbox3.Items.Strings[i]);
SetRange(1,'AQ'+inttostr(jj+1),listbox4.Items.Strings[i]);
end;
end;
end;
if strtoint(label13.Caption)>0 then begin
j:=0;
jj:=0;
for i:=1 to listbox5.Items.Count-1 do begin
if i mod 2=1 then begin
j:=j+8;
SetRange(1,'BD'+inttostr(j),listbox5.Items.Strings[i]);
SetRange(1,'BD'+inttostr(j+1),listbox6.Items.Strings[i]);
end;
if i mod 2=0 then begin
jj:=jj+8;
SetRange(1,'BO'+inttostr(jj),listbox5.Items.Strings[i]);
SetRange(1,'BO'+inttostr(jj+1),listbox6.Items.Strings[i]);
end;
end;
end;
bar_vdm_form.Caption:='Подождите, идет подготовка к печати...';
FirstVed;
bar_vdm_form.ProgressBar1.StepBy(33);
SecondVed;
bar_vdm_form.ProgressBar1.StepBy(33);
ThirdVed;
bar_vdm_form.ProgressBar1.StepBy(34);
bar_vdm_form.Close;
VisibleExcel(true);
PrintPreviewEx;
SaveWorkBookAs(Getcurrentdir+'\123.xls');
DeleteFile('C:\123.xls');
CloseWorkBook;
CloseExcel; |
|
#12
|
||||
|
||||
|
Есть ещё одна идея:
Открой TotalComander (желательно последних версий) и на ЕХЕ файле нажми F3 ->вкладка DLL Dependency. Там видно все зависимости DLL, которые использует прога. Можешь найти и нужную..... |
|
#13
|
|||
|
|||
|
Код:
MZP яя ё @ є ґ Н!ёLН!ђђThis program must be run under Win32
$7 PE L ^B* а ЋЃ ® n T» А @ ђ @ ьS Њ $U ђ CODE H* ® `DATA 05 А 6 І @ АBSS m и А.idata ьS T и @ А.tls Ђ < А.rdata ђ < @ P.reloc $U V > @ P.rsrc Њ Њ ” @ P ђ @ P @ Boolean @ FalseTrueЌ@ ,@ Char я ђ@@ Smallint Ђяяя ђX@ Integer Ђяяя‹Аp@ Byte я ђ„@ Word яя ђ@ Cardinal яяяяђ°@ DoubleЌ@ А@ CurrencyђР@
StringЬ@
WideStringм@ VariantЌ@ ь@
OleVariantT@ T@ ?>@ ”>@ >@ њ>@ ђ>@ Ш;@ ф;@ 0<@ TObject`@ TObjectT@ System Ђ@
IInterface А FSystem яяМѓD$шйНW ѓD$шйлW ѓD$шйхW ММ*@ ·@ Б@ А FН@ Ќ@ H@ Щ@ H@ @ ?>@ Xi@ di@ њ>@ ђ>@ ti@ ф;@ 0<@ TInterfacedObject‹А`@ TBoundArray T@ System?@ TDateTimeя%Ђ"W ‹Ая%|"W ‹Ая%x"W ‹Ая%t"W ‹Ая%p"W ‹Ая%l"W ‹Ая%h"W ‹Ая%d"W ‹Ая%`"W ‹Ая%\"W ‹Ая%X"W ‹Ая%T"W ‹Ая%”"W ‹Ая%P"W ‹Ая%L"W ‹Ая%H"W ‹Ая%ђ"W ‹Ая%D"W ‹Ая%@"W ‹Ая%<"W ‹Ая%8"W ‹Ая%4"W ‹Ая%0"W ‹Ая%,"W ‹Ая%("W ‹Ая%$"W ‹Ая% "W ‹Ая%"W ‹Ая%"W ‹Ая%"W ‹Ая%Њ"W ‹Ая%"W ‹Ая%"W ‹Ая%"W ‹Ая%¤"W ‹Ая% "W ‹Ая%њ"W ‹Ая%"W ‹Ая% "W ‹Ая%ь!W ‹Ая%ґ"W ‹Ая%°"W ‹Ая%¬"W ‹Ая%ш!W ‹Ая%ф!W ‹Ая%р!W ‹Ая%м!W ‹АSѓДј»
TиQяяяцD$,t·\$0‹ГѓДD[Г‹Ая%и!W ‹Ая%д!W ‹Ая%а!W ‹Ая%Ь!W ‹Ая%Ш!W ‹Ая%Ф!W ‹Ая%Р!W ‹Ая%М!W ‹АSVѕиW ѓ> u:hD j иЁяяя‹И…Йu3А^[ГЎдW И так ООЧЕНЬ много строк рисует! |
|
#14
|
||||
|
||||
|
Бери последние версии Комедера:
Картинка должна быть следующего вида: Последний раз редактировалось Yurk@, 16.08.2009 в 16:39. |
|
#15
|
|||
|
|||
|
Нашел я коммандер, который показывает необходимую инфу! Но теперь грабли появились в следующем:
1. На работе коммандер показывает восклицательный знак напротив используемой длл. 2. Дома стоит такая же Delphi и все нормально... 3. Забрал я эту библиотеку, поставил на машины на работе(причем туда же. откуда взял, т.е. Windows\System32\) и все-равно не работает! + ко всему - поиск по винту не находит этот файл! хотя я его вижу!![]() И как дальше быть? Последний раз редактировалось ~ SaM ~, 16.12.2007 в 18:50. |