|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Есть сборка, которую равно могут использовать консольные и оконные приложения. Но поведение кода должно слегка меняться в зависимости от режима - консольный или оконный процесс. Как определить режим наиболее эффективно? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 17:43 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
(цитата, потому что из закрытого раздела) Сон Веры ПавловныЕсли же нужно программно, то встроенными средствами - никак, т.к. для CLR нет разницы, консольное приложение, или оконное. Тут нужно читать PE-хидер исполняемого файла. Начать можно отсюда: https://support.microsoft.com/en-us/kb/90493/en-us + https://msdn.microsoft.com/en-us/magazine/bb985997.aspx В переводе на C# это может выглядеть примерно так (отправная точка: http://code.cheesydesign.com/?p=572): Код: c# 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 18:09 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Упс. Ссылка на cheesydesign.com уже не работает. Вот этот PeHeaderReader: PeHeaderReader.cs Код: c# 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. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 18:11 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ziktuwЕсть сборка, которую равно могут использовать консольные и оконные приложения. Но поведение кода должно слегка меняться в зависимости от режима - консольный или оконный процесс. Как определить режим наиболее эффективно? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
говно код, за то работате :) если из консольного проекта вызывать, вернёт True, если из WF то False ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 18:12 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Roman Mejtesговно код, за то работате :) если из консольного проекта вызывать, вернёт True, если из WF то False Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 18:18 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Всем спасибо! Помогли. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 20:10 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, я сразу сказал, что это говнокод :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 12:34 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Пускай пользователи в журнале расписываются, как они запустили ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 13:45 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Cat2Пускай пользователи в журнале расписываются, как они запустилиВ системном )) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 14:21 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
const int IMAGE_SUBSYSTEM_OS2_CUI = 5; // image runs in the OS/2 character subsystem. можно запустить os/2 приложения в винде? это еще поддерживается? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 14:23 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Roman Mejtesconst int IMAGE_SUBSYSTEM_OS2_CUI = 5; // image runs in the OS/2 character subsystem. можно запустить os/2 приложения в винде? это еще поддерживается? Сон Веры Павловны Код: c# 1.
Вопрос к авторам. В хидерах SDK это все еще наличествует. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 21:18 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
вообще имхо, но такие вещи больше похожи на слабую архитектуру. Какой смысл в этом реально на столько полезный, чтоб лепить такое, а потом страдать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 22:14 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Roman Mejtesвообще имхо, но такие вещи больше похожи на слабую архитектуру. Какой смысл в этом реально на столько полезный, чтоб лепить такое, а потом страдать? Ну представьте себе, что вы делаете SDK, который будет использоваться в разных как в виндовых, так и в консольных приложениях. И при этом ваш SDK должен в определенных обстоятельствах выводить сообщения - в виндовом приложении в виде мессадж-бокса, а в консольном - строку в консоли. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 22:21 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ziktuwRoman Mejtesвообще имхо, но такие вещи больше похожи на слабую архитектуру. Какой смысл в этом реально на столько полезный, чтоб лепить такое, а потом страдать? Ну представьте себе, что вы делаете SDK, который будет использоваться в разных как в виндовых, так и в консольных приложениях. И при этом ваш SDK должен в определенных обстоятельствах выводить сообщения - в виндовом приложении в виде мессадж-бокса, а в консольном - строку в консоли.за вывод сообщений нужно яйца оторвать, а логгеры с нормальным интерфейсом никто не отменял ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 23:08 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Сервис - это оконное или консольное Приложение? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 23:23 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Roman Mejtesconst int IMAGE_SUBSYSTEM_OS2_CUI = 5; // image runs in the OS/2 character subsystem. можно запустить os/2 приложения в винде? это еще поддерживается? Чего придираешься? Из того что что-то есть в h.-хидерах еще не следует что это будет использоваться в коде. Просто кому-то нравится переписывать/декларировать в своем модуле все константы/функции которые там есть. Я например не сторонник подобных простыней и декларирую и выписываю только те костанты/ф-ции которые мне нужны для моего кода. Чем хороши WIN API, всегда есть уверенность, что если используешь какую-то ф-цию, то оно будет работать и в будующих версиях виндов, чтоб они там не писали про Depricated. Прикинь ты код 20 лет назад написал (пусть даже ты его дорабатывал под новые OS), но у тебя там эта константа затесалась, а они возьмут ее и выкинут из очередного SDK/DDK. Вот по этому и не выкидывают, "обратная совместимость" так сказать. Try..catch -это да просто, но если очень этим злоупотреблять (когда их много), то говнокод еще и тормозить будет нехило, а API-простыни как бы мгновенно отрабатывают. ИзопропилСервис - это оконное или консольное Приложение? А не пофиг? Я например часто делаю сервис как "оконное" приложение, на всяк. случай форму "скрываю", хотя ее все одно не видно, если под System. Мне к примеру удобно удерживать приложение через Application.Run(Form1), инициализировать в Form1_Load, делать какие-то заключительные процедуры в Form1_FormClosed, до кучи еще какими-нибудь таймерами кинутыми на эту форму воспользоваться и т.п. Хорошо это или плохо - мне так удобно, я так привык, кто в VB6 работал тот поймет. Хотя вот выводить MsgBox-ы при такой "архитектуре" ясно дело не приемлимо, ибо юзеру их "не видно". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 00:42 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ИзопропилСервис - это оконное или консольное Приложение? Оконное: Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 02:31 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ziktuwRoman Mejtesвообще имхо, но такие вещи больше похожи на слабую архитектуру. Какой смысл в этом реально на столько полезный, чтоб лепить такое, а потом страдать? Ну представьте себе, что вы делаете SDK, который будет использоваться в разных как в виндовых, так и в консольных приложениях. И при этом ваш SDK должен в определенных обстоятельствах выводить сообщения - в виндовом приложении в виде мессадж-бокса, а в консольном - строку в консоли. Представьте себе есть у меня такой SDK, используется и в виндовых, и в консольных, и в веб приложениях. И сообщения в последних прекрасно выводятся без какого-либо определения режима. Рассказать как? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 06:41 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ИзопропилСервис - это оконное или консольное Приложение? Веб :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 06:42 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Дмитрий77Чего придираешься?В каком месте я придираюсь к объявлению? если константа определена как private или protected на крайняк, я не против, только за ) мне вообще в целом интересно, возможно ли запустить приложение os/2 на совр. виндовс ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 13:28 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Roman Mejtes, В приведенном коде (насколько я глянул) реально используется только 2 константы из списка. IMAGE_SUBSYSTEM_WINDOWS_CUI IMAGE_SUBSYSTEM_WINDOWS_GUI Автор же как человек аккуратный задекларировал весь список (хотя спрашивается нафига выписывать то, что никогда не понадобится). Но такова была обычная практика в том же самом VB6. На самом деле это еще и лишнее, потому как все эти ненужные декларации "компилируются", вот здесь озадачивался этим вопросом. Как при компиляции "удалить из exe-шника" декларированные, но не используемые API? Оно как бы не жалко, но может например увеличить число претензий со стороны антивирусных поделок. Ну а твой интерес, какое отношение к вопросу имеет. Я лично про OS/2 особо никогда не интересовался, первые компы были с Win95/98 и так понимаю на тот момент OS/2 уж ушла в сторону и была не шибко актуальна. Но судя по википедии https://ru.wikipedia.org/wiki/OS/2 Win отделился от OS/2, отсюда понятно происхождение констант в SDK, не более. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 15:34 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
skyANAРассказать как? :) Расскажи. У меня есть нечто подобное и мне интересно как другие решают. У меня чисто классы, которые считают и вызовы этих классов в разных приложениях. Классы входят в приложения через "Добавить как связь" Можно было бы и в DLL запихать, но у меня ограничение - программы должны состоять из одного файла ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 19:24 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Перепробовав разные варианты, надежно сработал такой вариант (и под дебагером, и без): Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2017, 19:29 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Если я вызову AllocConsole в оконном приложении этот говнокод решит что моё приложение консольное? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 00:06 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ИзопропилЕсли я вызову AllocConsole в оконном приложении этот говнокод решит что моё приложение консольное? ИМХО правильно решит. Есть консоль - есть куда выводить. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 10:49 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Dima TИзопропилЕсли я вызову AllocConsole в оконном приложении этот говнокод решит что моё приложение консольное? ИМХО правильно решит. Есть консоль - есть куда выводить. А кто просил срать в консоль? Логгер этот горе-sdk категорически не может использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 18:22 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ИзопропилА кто просил срать в консоль? Про срать никто не писал. ИМХО ТС писал про критические случаи 20445256 . ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 18:37 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Dima TИзопропилА кто просил срать в консоль? Про срать никто не писал. ИМХО ТС писал про критические случаи 20445256 . Коды возврата и исключения - для кого? И куда это чудо будет срать под сервисом? Неужто догадается сделать запись в системном журнале? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 18:46 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
В критической ситуации везде надо срать. Главное критическую ситуацию обнаружить. В этом случае надо писать везде. Например я настроил оповещение себе в СМС, но, спасибо смс-спамерам, я смс не читаю. Недавно сглючило то, что три года работало без сбоев, несколько смс-ок были мной проигнорированы, слегка огреб. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 19:03 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Dima T, На уведомление о критической ситуации нужно подписываться и организовывать собственную реакцию, а не полагаться на систему уведомлений некоего мутного SDK ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 19:17 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Dima TВ критической ситуации везде надо срать +1. Лучше кривой, но работающий код, чем красивый, но без гарантии срабатывания всегда ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2017, 12:37 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Cat2Dima TВ критической ситуации везде надо срать +1. Лучше кривой, но работающий код, чем красивый, но без гарантии срабатывания всегда Особенно хорош сервис выплюнувший message box. Люди вы совсем съехали? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2017, 17:50 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Cat2skyANAРассказать как? :) Расскажи. У меня есть нечто подобное и мне интересно как другие решают. Хм. Делегаты, события, исключения, возврат определённого результата, IoC и DI. Никакой магии :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 09:21 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
Мрак. Что ж вы такие злые-то? Придется разъяснить ситуацию, а то бог знает до чего еще договоритесь. SDK, о котором речь, имеет следующие требования: 1. Это несколько DLL, которые должны распространяться с приложениями, так что ни о каких web речь идти не может. 2. Эти DLL должны работать как с оконным, так и с консольным приложением. Может, даже и с сервисом. Само собой в случае сервиса никакого messagebox'а не будет (ниже пояснение). 3. Логирование, событийная модель, исключения - все есть, в грамотном виде. Проект развивается достаточно давно. Теперь самое главное. 4. В SDK реализован скриптовой хост и модель данных для скриптов. А приложения эти скрипты задают. И в консольном, и в оконном режиме. 5. Заказчик решил, что SDK должен реализовать метод ShowState для скриптов, которым из скрипта можно отобразить в целях проверки внутреннюю информацию. Т.е. пользователь поместил в скрипте команду ShowState - приложение отображает, не поместил - не отображает. Соответсвенно, в консоли или в окне. Для сервиса этот функционал отключается. Вот и все, собственно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 10:03 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ziktuw, и зачем тут определять в коде, в консольном режиме работает приложение или в оконном? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 10:09 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
skyANAziktuw, и зачем тут определять в коде, в консольном режиме работает приложение или в оконном? А как по-другому реализовать пункт (5) ? Ваш вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 10:27 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ИзопропилСервис - это оконное или консольное Приложение? Можно разрешить взаимодействие с рабочим столом. Тогда будет оконное) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 10:30 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ЕвгенийВИзопропилСервис - это оконное или консольное Приложение? Можно разрешить взаимодействие с рабочим столом. Тогда будет оконное) Не смешно ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 11:41 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ziktuwskyANAziktuw, и зачем тут определять в коде, в консольном режиме работает приложение или в оконном? А как по-другому реализовать пункт (5) ? Ваш вариант? Делегата передать в SDK для вывода сообщений. Клиенту виднее, как выдавать сообщения - стандартным MessageBox или кастомным , быть может одновременно на десктоп, консоль, системный журнал и ещё куда ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 11:44 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ИзопропилДелегата передать в SDK для вывода сообщений. Клиенту виднее, как выдавать сообщения - стандартным MessageBox или кастомным , быть может одновременно на десктоп, консоль, системный журнал и ещё куда Делегат передать из скрипта? Это ценный совет. С объектной моделью SDK работает не приложение, а скрипты в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 11:51 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ziktuwskyANAziktuw, и зачем тут определять в коде, в консольном режиме работает приложение или в оконном? А как по-другому реализовать пункт (5) ? Ваш вариант? Делегирование, шаблон стратегия, придумать некий output, что можно задать. Заказчик завтра откроет для себя мониторинг и попросит писать туда и придётся Вам ещё один костыль забить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 12:17 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
[quote ziktuw]ИзопропилДелегата передать в SDK для вывода сообщений. Клиенту виднее, как выдавать сообщения - стандартным MessageBox или кастомным , быть может одновременно на десктоп, консоль, системный журнал и ещё куда Делегат передать из скрипта? Это ценный совет. С объектной моделью SDK работает не приложение, а скрипты в приложении.[/quote их хоста ясен хер ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 21:17 |
|
C# Как определить в коде, в консольном режиме работает приложение или в оконном?
|
|||
---|---|---|---|
#18+
ИзопропилziktuwС объектной моделью SDK работает не приложение, а скрипты в приложении. их хоста ясен хер Имеем два варианта: 1. (мой) - В скрипте есть возможность вызвать ShowState в SDK и все хосты-приложения без дополнительных кодирований отработают как заложено логикой. 2. (Изопропила) - В скрипте есть возможность вызвать ShowState в SDK и все хосты-приложения должны быть дополнены кодом передачи делегата и обработкой его вызова, иначе не вся заложенная логика будет выполнена. При всем при том, что я отвечаю за разработку SDK, а кто и где будет допиливать хосты-приложения - неизвестно. Сравнение решений, Изопропил, не в твою пользу. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 21:37 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399927]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 195ms |
0 / 0 |