|
|
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги! Писал очень давно (еще в середине 90-х годов) на Turbo Pascal, сейчас встала необходимость написать небольшую DLL. Смог разобраться с консольным приложением только на Delphi 6. Вот код DLL: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Библиотека компилируется, только при вызове функции вылетает в Runtime error 216. Подскажите, где еще допущены ошибки. Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 21:31 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
AK-Shahгде еще допущены ошибки. Что значит "ещё"? Там вообще ни одной правильной строчки нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 21:37 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Хорошо, приведите строчки правильные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 22:02 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 22:15 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
AK-ShahDimitry Sibiryakov, Хорошо, приведите строчки правильные. Тебе ссылку дали. Или тоже "языков не знаешь?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 22:17 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
AK-Shah, Чем класс TIniFile из модуля IniFiles не устроил? P.S. По ошибкам - см. ShareMem по ссылке, если хочешь стринги в параметрах/результатах фций dll юзать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 23:03 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
AK-ShahDimitry Sibiryakov, Хорошо, приведите строчки правильные. Для того, чтобы приводить правильные строчки, надо знать задачу. То, что написано, мало того, что неправильно, оно еще и не нужно, потому что kernel32 импортируется любым исполняемым модулем на Delphi и чтобы вызвать GetPrivateProfileString не надо изобретать дополнительных DLL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2018, 23:21 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
{$APPTYPE CONSOLE} ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2018, 07:05 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
LocksmithPC{$APPTYPE CONSOLE} ? "Кому сейчас легко?" - ©. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2018, 07:37 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
schi, авторДля того, чтобы приводить правильные строчки, надо знать задачу. То, что написано, мало того, что неправильно, оно еще и не нужно, потому что kernel32 импортируется любым исполняемым модулем на Delphi и чтобы вызвать GetPrivateProfileString не надо изобретать дополнительных DLL. Так оно. Собственно, это была попытка решить псевдо-проблему, когда с Visual Foxpro (да-да, на нем пишем клиента, хотя понимаю, что переходить надо на другое - си-шарп, делфи, или java - что-то из этого в наших реалиях. Не передавались параметры, вроде все изрыл, не находил ошибки. Суть - из под APP-менеджера стартовала фокс-программа. Но были проблемы где-то в импорте ДЛЛ-функций. К счастью, это место я нашел (может кому пригодится - обычно ИНИ-файл лежит рядом с ЕХЕ, из фокса путь вычитывался по ТЕКУЩЕМУ каталогу... Но из под Делфи-менеджера-проектов путь при запуске был относительно не ЕХЕ-файла фокса, а ЕХЕ-файла менеджера. Переписали строчку через фоксовую SYS(16) - получить имя запускаемой программы + функция получения полного пути. все взлетело. необходимость в длл действительно отпала. но вспоминать паскаль уже под делфи - только прибавило сил и решимости. К тому же у нас на Делфи большинство проектов, но и без Фокспро пока делать нечего, без нормализации все хранится. хочется поблагодарить всех тех. кто давал дельные советы и ссылки. Спасибо, коллеги! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2018, 20:45 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
По крайней мере я не согласен с утверждением, что там "все строчки неправильные". Да, согласен, что многие вещи подзабылись, а что-то в Делфи стало по-другому в сравнении с Турбо Паскалем, на котором я и недокументированные функции под Нетварь юзал, и вставки на ассемблере писал. Это было в 90-годы. Много воды утекло с тех пор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2018, 21:00 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
AK-Shahсогласен, что многие вещи подзабылись Конечно, это ведь так просто: забыть работу с указателями и то, что память под буфера надо выделять пере использованием. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2018, 21:15 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Он это и сделал Код: pascal 1. Видишь сколько пробелов поставил. Даже позаботился влепить #0 на конец. Кстати про #0 он не в курсе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2018, 23:23 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо Код: pascal 1. Видишь сколько пробелов поставил На глаз таки меньше 512. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2018, 23:55 |
|
||
|
DLL на Delphi
|
|||
|---|---|---|---|
|
#18+
LocksmithPC{$APPTYPE CONSOLE} ? Для надежности это лучше писать дважды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 13:35 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39694649&tid=2040453]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
90ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 473ms |

| 0 / 0 |
