|
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, 12:06 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
PavluhaЧто не так и куда копать подскажите плз? Я бы копал в написание этой функции на C# ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 13:27 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Cat2, О какой функции вы говорите, если это функция из библиотеки Delphi Я только вызываю ее и все. Выше описан код, как я ее импортировал себе в проект ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 13:31 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
PavluhaCat2, О какой функции вы говорите, если это функция из библиотеки Delphi Я только вызываю ее и все. Выше описан код, как я ее импортировал себе в проект О той, которую надо написать вместо функции из библиотеки Дельфи ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 14:08 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
На C# это даже не функция будет, а оператор. string StrField = table.Rows[Num][Field].ToString(); ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 14:14 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Cat2, В этом нет необходимости, т.к. при вызове ее возникает ошибка. Вызов осуществляется вот так: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 14:23 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Cat2, Забыл сказать, что библиотека используется в проекте скомпилированного под 4 framework. Под 2 framework работает все хорошо, такой ошибки нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 14:33 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Pavluha Код: c# 1.
Pavluha Код: c# 1.
Это так и должно быть? Функция в библиотеке Delphi также имеет объявление stdcall? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 15:30 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Arm79, *.dll это я не указывал просто имя. Имя явное указано насчет #100. это точка входа. Она корректная. Потому что в коде вызов этой функции происходит многократно и приложение "падает" не при первом вызове этой функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 15:44 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Забыл упомянуть еще вот что. Падает при использовании библиотеки в приложении скомпилированном под 4 framework, а сама библиотека, в которой используется вызов этой функции под 2 framework. Пробовал свою библиотеку скомпилировать под 4 framework. Такая же ошибка. Еще есть вот что. Ошибка может то возникать, то нет. Я понятия не имею как с этим бороться. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 15:46 |
|
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:08 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Pavluha Код: c# 1.
Фигасе, вместо адреса переменной в вызов подставляется литерал и Вы хотите чтобы это взлетело? PChar - это УКАЗАТЕЛЬ. Т.е. это адрес в памяти, по которому будут размещены Ваши данные. Если в функцию передаётся в качестве параметра PChar, то литералы передавать в неё НЕЛЬЗЯ. Объявите переменную типа string и её передавайте в вызов функции. И ещё, что-то мне подсказывает, что параметр Field в описании функции должен быть объявлен как out. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2014, 19:11 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
buser, На этой строчке Код: c# 1.
возникает ошибка: This may be due to a corruption of the heap......... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 11:38 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Я привел функции к такому типу: Код: c# 1. 2.
Этот метод теперь работает, но не работает др: Код: c# 1. 2.
Здесь нет ссылочных типов и ничего такого передавать не надо, но при попытке сделать так: Код: c# 1.
Возникает ошибка: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена. Получается одно правишь другое калечишь. Как только вернул все назад, все заработало. Так в чем может быть проблема? Просто качели какие-то ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 11:58 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Pavluha, Вы сейчас "переводите" с Delphi на C# ? Может будет проще сделать COM обертку над этим унылым API с нормальным интерфейсом? Да и примеров на паскале поди поболе будет? GetStatusNum - какая сигнатура у метода? Как в примере показана работа с этим методом? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 12:18 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
buser, В этом то и дело, что все что у меня есть, это эта длл, которую я могу использовать. Ни исходников, ничего. Сам метод в мануале описан так: ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 12:30 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
buser, Это сделано предварительно. Еще беда в том, что если кинуть команду в Watcher, то данные отображаются. Я вообще просто о....ю ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 13:11 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Как такое может быть, если перед вызовам метода кинуть команду в Watcher, то после этого код работает корректно? Как такое вообще может быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 13:15 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
Вот исходный код функции: Код: pascal 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 13:20 |
|
Delphi функция
|
|||
---|---|---|---|
#18+
PavluhaКак такое может быть, если перед вызовам метода кинуть команду в Watcher, то после этого код работает корректно? Как такое вообще может быть? Поведение в отладчике может отличаться... И всеж... как на счет 4.3.5? Сделайте в Delphi COM обертку с нормальным интерфейсом на этот API... и используйте его... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2014, 13:39 |
|
|
start [/forum/topic.php?fid=20&msg=38638683&tid=1402943]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 156ms |
0 / 0 |