Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

Вниз

Питання по DLL Знайти схожі гілки


_sulent   (2004-11-30 09:02) [0]

Приветсвую, може бути питання не по конференції, але вирішив звернутися сюди.
Виникла така проблема, щось не можу зрозуміти. створюю DLL з програми вантажу її, начебто завантажується, але варто мені тільки вбити її, все хана ... видає помилку, що мовляв щось з пам'яттю моєю не те! Загалом помилка звернення до пам'яті. Що може бути таке?
причому якщо я його не вбиваю цей Handle, то при закритті програми знову така помилка з'являється!
роблю так:

LibHandle: = LoadLibrary (pChar (ExtractFilePath (Application.ExeName) + "DLL \ Reports \" + SR.Name)); index: = FindNext (SR); if LibHandle> 32 then begin SetLength (LibHandles, length (LibHandles) +1); @Tproc: = getProcAddress (LibHandles [length (LibHandles) -1], "describe_report"); Tproc (List); RepList.Items.Add (List.Strings [1]); end; FreeLibrary (LibHandle);



Digitman ©   (2004-11-30 09:09) [1]

у тебе помилка в самій DLL



KSergey ©   (2004-11-30 09:13) [2]

SahreMem, схоже, як завжди відсутній



_sulent   (2004-11-30 09:26) [3]

ShareMem у мене як раз присутнє, а сама DLL нормально працює, ніяких проблем немає ... перевіряв запускаючи саму програму, працює нормально ...



TUser ©   (2004-11-30 09:35) [4]

І все-таки, код dll "ки покажи.



Verg ©   (2004-11-30 09:44) [5]

Кілька вопросиков:


> LibHandle: = LoadLibrary (pChar (ExtractFilePath (Application.ExeName) + "DLL \ Reports \" + SR.Name));
> Index: = FindNext (SR);
> If LibHandle> 32 then begin // У чому сенс порівняння?
> SetLength (LibHandles, length (LibHandles) +1); // Масив розширено, але LibHandle туди не вписаний
> @Tproc: = getProcAddress (LibHandles [length (LibHandles) -1], // В якій бібліотеці ти шукаєш процедуру?
> "Describe_report");
> Tproc (List);
> RepList.Items.Add (List.Strings [1]);
> End;
> FreeLibrary (LibHandle);



_sulent   (2004-11-30 10:50) [6]

Там це я просто експериментував, а по-ідеї у мене все було так:
index: = FindFirst (pChar (ExtractFilePath (Application.ExeName) + "DLL \ Reports \ *. dll", faAnyFile, SR); while index = 0 do begin LibHandle: = LoadLibrary (pChar (ExtractFilePath (Application.ExeName) + "DLL \ Reports \" + SR.Name)); if LibHandle> 32 then begin @Tproc: = getProcAddress (LibHandle, "describe_report"); TProc (List); end; end;
Щось типу того



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

Вгору





Пам'ять: 0.56 MB
Час: 0.091 c
14-1101103150
швидкість
2004-11-22 08:59
2004.12.12
Управління БД SQL-запитами


8-1095060575
KliffLevy
2004-09-13 11:29
2004.12.12
Вирізати з jpeg в окремий файл


1-1101733181
denis24
2004-11-29 15:59
2004.12.12
wordApplication


1-1101715306
Molchanov
2004-11-29 11:01
2004.12.12
Видалення рядків з TRichEdit


4-1099019554
Rentgen
2004-10-29 07:12
2004.12.12
Виділити вікно об'єкт





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська