/ / Какао, Windows и Threads? - прозорци, какао, мулчиране

Какао, Windows и Threads? - прозорци, какао, мулчиране

На прозорците всяка нишка има опашка за съобщения ивсяка опашка за съобщения ще обработва съобщенията за прозорците, притежавани от тази нишка. Това означава, че е съвсем лесно да напишете приложение, където можете да създадете нишка, с цикъл на съобщения и един (или повече) прозорци. Пренебрегвайки каквито и да било проблеми с приложението, сега има прозорци на приложенията, които ще продължат да взаимодействат с потребителя дори ако някой от другите прозорци е зает в някакъв вид модална операция.

Сега, при пренасянето на приложението на какао, срещам,добре, интерфейс Builder. Което е изненада за някой, който очаква повече да контролира създаването на прозорци и изграждането на вериги за съобщения. Въпреки това виждам откъде идва IB.

Моят проблем, обаче, е с непрозрачната функцияNSApplicationMain (). Това - в главната нишка на приложенията, автоматично създава главния прозорец на приложенията и изпълнява помпата за съобщения, всички данни се управляват добре от NIB файловете.

Това обаче ми оставя проблем: Дори да си купя идеята, че Interface Builder е начинът, по който да направя моя главен прозорец на приложението - и разбрах, че достатъчно обективи са C, за да създавате подкатегории в движение - както и как да създавам нишки - не мога вижте как да създадете помпа за съобщения в работните нишки. Започвам да се съмнявам, че е възможно.

Дали прозорците в какаото имат дори и конецафинитет те правят В Win32? т.е. всяка нишка има своя собствена линия за изпращане на съобщения за прозорци, притежавани от тази нишка? Започвам да подозирам, че може би Какао очаква всичките ми прозорци да бъдат "собственост" на основната нишка и просто да компенсирам работата (и рисуването) върху други теми.

Някакви улики за това как най-добре да преведете прозорец с много прозорци за Win32 app към парадоксите на Какао?

Отговори:

9 за отговор № 1

Интерфейс Builder е червен херинга в тази дискусия. Истинският въпрос е ориентиран към дизайнерските модели на какаото и тези два параграфа от вашия въпрос са ключови:

Това обаче ме оставя с проблем: Дори да си купя идеята този интерфейс Builder е начинът да Отидете да направите моя основен прозорец на приложението - и Разбрах достатъчно обективни C за създаване на подкатегории в движение - като както и как да създавам нишки - може да види как да създадете помпа за съобщения в работни нишки. Започвам да се съмнявам възможно е.

Прозорците в какао дори имат вид от нишкатаафинитет те правят В Win32? т.е. всяка нишка има свое собствено послание диспечерски цикъл за прозорци, притежавани от тази тема? Започвам да подозирам че може би Какао очаква всичко мое прозорци, които да бъдат "собственост" от главните нишка и аз просто да компенсира работата (и рисуване) върху други нишки.

Накратко, не, не работи така. Какаоът има напълно различен модел за управление на събития и съвсем различен набор от инструменти за поддържане на контекста.

По-специално, какаото има силна представа за цикъл на основното събитие който работи винаги на основната нишка. Това е мястото, където се обработват потребителските събития и където се осъществява почти цялата рисуване (въпреки че това ограничение е било разхлабено с течение на времето).

Това е различно и се опитваме да го подгънем, за да работи като нишката на прозореца с помпа е път на крайна болка. Не отивай надолу.

Сега, какао прави имат цикли на всяка нишка. Но те не се използват за обработка на потребителски събития.

Накратко, ще трябва да преразгледате архитектурата на приложението си, за да изтеглите кода на какао. Правилен порт не е възможно.