Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросы по программированию на C/С++

 
  • Справочники, книги
  • Выбор IDE (среды программирования)
     
    Постарайтесь дать как можно больше информации о возникшей проблеме - это в конце концов в ваших же интересах чтобы вам помогли.

    Решения конкретных задач собираются и обсуждаются в теме Задачи по C/С++ .

    Прежде чем просить помощи в задании...
    Если позарез надо и вы даже готовы заплатить

    Как правильно задавать вопросы, если вы хотите получить ответ.

    Полезные ссылки:
    C++(eng)

  • Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 13:37 06-05-2004 | Исправлено: AZJIO, 19:45 12-05-2014
    KF121



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Увы, ничего не получилось Подключиться к Екселю не могу - список процевв пуст. Галка показвать системные не помогает. Совсем пусто... Выставил по рекомендациям, но тоже не повлияло:  
     

    Это фича/баг VS6, накатите один из последних сервис паков. а лучше перейдите на что нить более новое.
     

    Цитата:
    Работы, как таковой, у этой DLL нет - из нее вызывается функция, обсчитывает данные и хранит их в себе. Результат вычислений другая ее ф-ция отдает. И так в цикле. Одна строчка, и другая. Первая еще есть - инициализация. Как ее остановить - она раз, и выполнилась...
     
    В случае крэша я попадаю в дебаггер, но цикл ужЕ прерван - Екселю схлопнулся. Без цикла нефиг там смотреть...  

     
    советую как и KChernov добавить логирование для начала можно не в dll а в VBA, к примеру сохранять в файл все параметры вызова dll функций. и потом  анализить последние записи. идти в длл в уме подставлять значнния и попробовать выяснить где падает. нет, так напсиать маленькое приложение кторое будет вызывать функции из dll с теми параметрами кторые были сохранены на предыдущем шаге. Еще как вариант, добавить пару обработчиков эксепшенов. мотри если падать dll не будет и excel живой лостанется.

    Всего записей: 170 | Зарегистр. 24-05-2006 | Отправлено: 08:31 17-06-2011
    asbo

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KF121
    *накатите один из последних сервис паков.
    ОК. СП поищу. Конкретный номер не порекомендуешь?
     
    * а лучше перейдите на что нить более новое
    У меня VS8 параллельно стоит. Бзв - а она не может мешать?
    Но код, скомпилированный в ней, хоть и рабочий, но в существенно медленнее. А тут скорострельность критична - много данных + тяжелая математика.
     
    * добавить логирование для начала можно не в dll а в VBA
    В VBA это ужЕ все сделано :) Да и прежде, чем внести изменения в dll, я их логику прокатываю под VBA и только после этого портирую.
     
    * добавить пару обработчиков эксепшенов
    Это мне с нуля надо изучать язык :(

    Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 08:49 17-06-2011
    KChernov



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    asbo

    Цитата:
    Логированием можно было бы обойтись, но у меня практических навыков в C++ ноль. Если не сложно - покажите образец кода.

    В простейшем виде надо просто открыть файл на запись и писать туда сообщения (и как-то сделать, чтобы в аварийной ситуации он закрывался).
    Но лучше наверное что-нибудь готовое использовать - пусть знающие люди подскажут.

    Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 19:44 17-06-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    люди никто не может код написать, как в лист боксе две строки местами поменять. чета голова кругом идет этих индексов.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:09 21-06-2011
    kkuuhhaa

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли (и как) найти нендлер открытого файла по его имени. Файл открыт программой верхнего уровня средствами Фортрана, где такового понятия нет, ессно.

    Всего записей: 131 | Зарегистр. 14-05-2008 | Отправлено: 09:42 25-07-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kkuuhhaa
     
    http://wasm.ru/print.php?article=lockfileswork

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:25 25-07-2011 | Исправлено: bomzzz, 10:30 25-07-2011
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kkuuhhaa
    тебе лучше в конкретный топ:
    http://forum.ru-board.com/topic.cgi?forum=33&topic=0555#1

    Цитата:
    Файл открыт программой верхнего уровня средствами Фортрана, где такового понятия нет, ессно.

    ну как же?
    у виндовского фортрана есть полный доступ к Win API:
    OpenFile(), lopen(), lcreat()
    например,
    FUNCTION OpenFile(lpFileName, lpReOpenBuff, uStyle)
    integer(HFILE) :: OpenFile
     

    Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 10:29 25-07-2011
    kkuuhhaa

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    akaGM
     
    Там что ли повторить тему?
     
    Про доступ знаю, не знаю как это сделать. Доступ нужен к файлу, открытому той же программой.
     
     
    bomzzz
     
    Уточню. Хендлер надо искать среди всех открытых файлов в системе?  
    Для файлов той же программы нет другого способа?

    Всего записей: 131 | Зарегистр. 14-05-2008 | Отправлено: 01:06 26-07-2011
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kkuuhhaa

    Цитата:
    Там что ли повторить тему?
    да необязательно (если это не вопрос по чистому API на С++), может оказаться, что тебе вообще фортранный топик нужен по основам фортрана, и с этим лучше сюда:
    http://forum.ru-board.com/topic.cgi?forum=33&topic=7860#1
     
    так что давай вот это
    Цитата:
    Доступ нужен к файлу, открытому той же программой.
    уточняй...
     
    1) программа на Фортране? если да, то тогда каким боком тут оказывается С++?
     
    2) что ты понимаешь под "доступ к файлу, открытому той же программой"?
    разве она не имеет доступа к тому что сама же и открыла?
     
    3) и главное чтО ты хочешь сделать?
     
    например, открывая файл штатными средствами фортрана, hfile в
    Код:
    integer hfile/100/
      open (hfile, file='filename.ext')
      write(hfile, *) 10, 'akssdhshft', 3.14
      close(hfile)
    end
    тоже своего рода хендл, по которому программа к этому файлу обращается
     
    а открывая виндовским handle = OpenFile(filename,...), ты сразу получаешь его хэндл на выходе...
     
    и вообще, зачем тебе хэндл? :)
     
    короче, "код в студию!", (с) РуБорд

    Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 01:29 26-07-2011 | Исправлено: akaGM, 02:26 26-07-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    я тоже нифига не понял.  под досом работа с файлами тоже хендл использовался. как может не быть хендла не пойму. че ха фортран такой
     
    Добавлено:
    я не понял что ты из того же процесса хочешь хендл получить. и если у тебя из фортрана есть возможность обращаться к апи функциям тем более непонятно куда хендл подевался

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 02:11 26-07-2011
    kkuuhhaa

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да, файл открыт Open(unit=nnn... - стандартно
    Надо средствами Си его писать-читать. Программа двуязычная (ну там есть и asm).  
    nnn- это не тот хендл, что в fopen. (или как?)
    Ну какие ещё слова надо?  
    Сейчас закрываю файл в Фортране, что бы открыть его в Си. Хотелось бы от этого избавиться

    Всего записей: 131 | Зарегистр. 14-05-2008 | Отправлено: 08:56 26-07-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    скорее всего тот. все равно ни фига не понятно. трех-язычная что ли программа?

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 09:43 26-07-2011
    kkuuhhaa

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да, три языка. А хендл не подходит. Проверял. Ну не знаю как ещё обьяснить. В фортране написана программа разбора заголовка файла. Переписывать нет сил и времени, досттаточно логически навороченная. Работает и ладушки. А в си-асм файл массово считывается. Так быстрее намного, ну и там биг-литл ендиан преобразования.

    Всего записей: 131 | Зарегистр. 14-05-2008 | Отправлено: 11:05 26-07-2011
    karakurt2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    номер логического устройства в Фортране -- это совсем не то же самое, что и дескриптор файла в С. Существуют функции преобразования, ищите.

    Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 11:32 26-07-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    напрямую диск что ли читаешь. хендл файла присваевает процессу система виндовс или дос, какой язык никакой разницы

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:22 26-07-2011
    kkuuhhaa

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    karakut2
     
    Что называется: и на том спасибо. искал, как же без этого.
    В Compaq фортране это как-то можно решить (useropen), но у меня не этот диалект
     
    bomzzz
     
    разницы нет, но фортран системный дескриптор не показывает, [cenzored]

    Всего записей: 131 | Зарегистр. 14-05-2008 | Отправлено: 13:24 26-07-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    открой файл в ассемблерной вставке, будет дескриптор

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:22 26-07-2011
    kkuuhhaa

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Так его можно и createfile открыть, но будет ли он читать в фортране. Попробую, спасибо, хотя верится с трудом

    Всего записей: 131 | Зарегистр. 14-05-2008 | Отправлено: 15:20 26-07-2011
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    скорее всего будет. хендл универсальное значение, процесс один и тот же. зависит от особенности компилятора
     
    Добавлено:
    таки читай его ассемблером. на фиг тебе вообще этот фортран, им только вычисления удобнее делать. так и в ассемблере это не так уж и сложно. один раз сделать потом всегда считать

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:43 26-07-2011 | Исправлено: bomzzz, 15:44 26-07-2011
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kkuuhhaa
    все эти суматошные вопросы/ответы возникают из-за того, что ты не хочешь чётко сформулировать задачу, а всё: "открыть", "надо читать", "надо доступ" етц...
     
    вот ответь лично мне (ну уважь уж):
     
    1) на Си "надо читать" _после_ того как отработает фортрановский ввод/вывод или в параллель?
     
    и
     
    2)Си и Фортран сосуществуют вместе в коде или нет?
    т.е. программа -- это один отдельный исполняемый файл или пара разных и независимых?

    Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 15:49 26-07-2011 | Исправлено: akaGM, 16:46 26-07-2011
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru