- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
var
resStream: TResourceStream;
memStream: TMemoryStream;
DLL: THandle;
tempFile: string;
excel: variant;
wbook: OLEVariant;
begin
if not IsOLEObjectInstalled('Excel.Application') then
begin
MessageBox(Handle, PChar('Для открытия фаблонов форм необходимо установить'+#13+
'Microsoft Excel'), 'Ошибка загрузки формы.', MB_ICONINFORMATION);
exit
end;
tempFile := extractFilePath(paramStr(0))+'DATA\PLUGINS\$temp$.xxx';
if ListView1.Selected = nil then exit;
if not FileExists(ListView1.Selected.SubItems.Strings[2]) then exit;
DLL := loadLibrary(PChar(ListView1.Selected.SubItems.Strings[2]));
if DLL = INVALID_HANDLE_VALUE then begin
freeLibrary(DLL);
exit
end;
resStream := TResourceStream.Create(DLL, 'FORMA', MakeIntResource(10));
memStream := TMemoryStream.Create;
memStream.LoadFromStream(resStream);
if fileExists(tempFile) then deleteFile(tempFile);
memStream.SaveToFile(tempFile);
setFileAttributes(PChar(tempFile), FILE_ATTRIBUTE_HIDDEN or
FILE_ATTRIBUTE_TEMPORARY);
memStream.Free;
resStream.Free;
freeLibrary(DLL);
excel := createOLEObject('Excel.Application');
excel.Visible := TRUE;
wbook := excel.Workbooks.Open(tempFile)
end;
когда-то кому-то в дипломнике вот такое написал. с понтом - подключаем плагины и они в эксель выводят программно новые виды форм. хотя экселевский файл тупо вкомпилен в ресурс библиотеки
turdman 24.05.2010 13:47 # +2
ListView1.Selected
Автору надо или трусы надеть или крест снять.
TarasB 24.05.2010 19:34 # −1
Lure Of Chaos 24.05.2010 20:06 # 0
а вообще за такую неоднородность делал бы с разрабами что нибудь плохое, пока бы не взялись за ум
guest 24.05.2010 20:14 # +1
facepalm.php
хоть бы не позорился банальнейшим незнанием терминологии
Lure Of Chaos 24.05.2010 20:27 # −2
ganja_boy 25.05.2010 10:53 # 0
Handle - глобальный хендл окна формы. мессаджбокс будет от него. PChar(...) какбэ приведение типов. коряво, ну а че такого-то?
guest 25.05.2010 11:05 # 0
КО - правильно, коровы...
guest 25.05.2010 16:54 # 0
turdman 25.05.2010 14:39 # +1
ganja_boy 25.05.2010 15:59 # +1