Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
12.05.2014, 12:06
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Код: c# 1. 2.
Сама функция описана в файле во вложении Вызов функции приводит к ошибке: FatalExecutionEngineError: The runtime has encountered a fatal error. The address of the error was at 0x6f4293ba, on thread 0x22f0. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack. Что не так и куда копать подскажите плз? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 13:27
|
|||
---|---|---|---|
Delphi функция |
|||
#18+
PavluhaЧто не так и куда копать подскажите плз? Я бы копал в написание этой функции на C# ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 13:31
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Cat2, О какой функции вы говорите, если это функция из библиотеки Delphi Я только вызываю ее и все. Выше описан код, как я ее импортировал себе в проект ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 14:08
|
|||
---|---|---|---|
Delphi функция |
|||
#18+
PavluhaCat2, О какой функции вы говорите, если это функция из библиотеки Delphi Я только вызываю ее и все. Выше описан код, как я ее импортировал себе в проект О той, которую надо написать вместо функции из библиотеки Дельфи ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 14:14
|
|||
---|---|---|---|
Delphi функция |
|||
#18+
На C# это даже не функция будет, а оператор. string StrField = table.Rows[Num][Field].ToString(); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 14:23
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Cat2, В этом нет необходимости, т.к. при вызове ее возникает ошибка. Вызов осуществляется вот так: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 14:33
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Cat2, Забыл сказать, что библиотека используется в проекте скомпилированного под 4 framework. Под 2 framework работает все хорошо, такой ошибки нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 15:30
|
|||
---|---|---|---|
Delphi функция |
|||
#18+
Pavluha Код: c# 1.
Pavluha Код: c# 1.
Это так и должно быть? Функция в библиотеке Delphi также имеет объявление stdcall? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 15:44
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Arm79, *.dll это я не указывал просто имя. Имя явное указано насчет #100. это точка входа. Она корректная. Потому что в коде вызов этой функции происходит многократно и приложение "падает" не при первом вызове этой функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 15:46
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Забыл упомянуть еще вот что. Падает при использовании библиотеки в приложении скомпилированном под 4 framework, а сама библиотека, в которой используется вызов этой функции под 2 framework. Пробовал свою библиотеку скомпилировать под 4 framework. Такая же ошибка. Еще есть вот что. Ошибка может то возникать, то нет. Я понятия не имею как с этим бороться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 19:08
|
|||
---|---|---|---|
Delphi функция |
|||
#18+
Эм... я ломокомпакт, но... http://connect.microsoft.com/VisualStudio/feedback/details/488941/p-invoke-memory-faults-when-marshaling-byref-ansibstr-on-x64 ? Код: c# 1. 2.
Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2014, 19:11
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Pavluha Код: c# 1.
Фигасе, вместо адреса переменной в вызов подставляется литерал и Вы хотите чтобы это взлетело? PChar - это УКАЗАТЕЛЬ. Т.е. это адрес в памяти, по которому будут размещены Ваши данные. Если в функцию передаётся в качестве параметра PChar, то литералы передавать в неё НЕЛЬЗЯ. Объявите переменную типа string и её передавайте в вызов функции. И ещё, что-то мне подсказывает, что параметр Field в описании функции должен быть объявлен как out. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 11:38
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
buser, На этой строчке Код: c# 1.
возникает ошибка: This may be due to a corruption of the heap......... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 11:58
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Я привел функции к такому типу: Код: c# 1. 2.
Этот метод теперь работает, но не работает др: Код: c# 1. 2.
Здесь нет ссылочных типов и ничего такого передавать не надо, но при попытке сделать так: Код: c# 1.
Возникает ошибка: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена. Получается одно правишь другое калечишь. Как только вернул все назад, все заработало. Так в чем может быть проблема? Просто качели какие-то ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 12:18
|
|||
---|---|---|---|
Delphi функция |
|||
#18+
Pavluha, Вы сейчас "переводите" с Delphi на C# ? Может будет проще сделать COM обертку над этим унылым API с нормальным интерфейсом? Да и примеров на паскале поди поболе будет? GetStatusNum - какая сигнатура у метода? Как в примере показана работа с этим методом? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 12:30
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
buser, В этом то и дело, что все что у меня есть, это эта длл, которую я могу использовать. Ни исходников, ничего. Сам метод в мануале описан так: ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 13:11
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
buser, Это сделано предварительно. Еще беда в том, что если кинуть команду в Watcher, то данные отображаются. Я вообще просто о....ю ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 13:15
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Как такое может быть, если перед вызовам метода кинуть команду в Watcher, то после этого код работает корректно? Как такое вообще может быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 13:20
|
|||
---|---|---|---|
|
|||
Delphi функция |
|||
#18+
Вот исходный код функции: Код: pascal 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2014, 13:39
|
|||
---|---|---|---|
Delphi функция |
|||
#18+
PavluhaКак такое может быть, если перед вызовам метода кинуть команду в Watcher, то после этого код работает корректно? Как такое вообще может быть? Поведение в отладчике может отличаться... И всеж... как на счет 4.3.5? Сделайте в Delphi COM обертку с нормальным интерфейсом на этот API... и используйте его... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1402943]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 309ms |
total: | 440ms |
0 / 0 |