![]() |
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
Zitat:
|
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
*kopfauftastahau* maaan was sag ich denn die ganze zeit...
Delphi-Quellcode:
unit CCL;
/////////////////////////////////////////////////// // Custom Component Library // // // // Entwicklung eigener Klassen ohne die VCL // // // // Autor: hboy 2004 / 2005 // /////////////////////////////////////////////////// interface uses WndClass, MenuClass, PanelClass, NCDefWndClass, StaticClass; type TWnd = class(TCustomWnd); type TWndControl = class(TCustomWndControl); type TWndChild = class(TCustomWndChild); type TWndMenuItem = class(TCustomWndMenuItem); type TWndMenuFrame = class(TCustomWndMenuFrame); type TWndPanel = class(TCustomWndPanel); type TWndButton = class(TCustomWndButton); type TWndSwitch = class(TCustomWndSwitch); type TWndProtocolStatic = class(TCustomWndProtocolStatic); implementation end. |
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
also Oli...
erst mal danke dass du dich immer noch damit rumquälst. Nich jeder hat so viel geduld :thumb: dass du mir unterstellt hast ich müsste mir erst mal grundlagenwissen aneignen is schon bissl herb aba kay... also wenn ich die Konsole in eine vcl-anwendung reinschmeiß ( welch ironie, nich ^^ ) dann tut das natürlich wegen der Message-Loop in Application. Das Problem bleibt immer noch das die Message behandlung in dem extra thread nicht funzt, und ich kein plan hab wie ich es anstellen soll. Vielleicht doch das Konsolenfenster in einem völlig separaten thread basteln und Messages behandeln ? Und was ist dann mit der Message-loop beim ConsoleIn ? |
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
Okay, rekapitulieren wir mal die Regeln für Fenster. Die Message-Loop muß im selben Thread sein, welcher das Fenster erstellt. Ist dies bei dir der Fall? IMO nein.
Im Platform SDK steht: An application must remove and process messages posted to the message queues of its threads. A single-threaded application usually uses a message loop in its WinMain function to remove and send messages to the appropriate window procedures for processing. Applications with multiple threads can include a message loop in each thread that creates a window. Zitat:
Daß mit den Grundlagen war sicherlich nicht böse gemeint, aber unter Windows gilt nunmal: kein Fenster ohne Nachrichtenschleife. |
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
bis jetzt hatte ich ja eine "bei Bedarf" ;)
Also jetzt bin ich nur noch gespannt ob ich das mit den Treiberfunktionen gebacken krieg ^^ wenn die die funktionen in nem anderen thread aufrufen müssn |
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
achja... platfrom sdk ? sowas gibts :spin2: uiuiui ;) *grins* sowas wäre auch mal nich schlecht *g*
PS: bin ja noch gottfroh dass du mich nich nach MSDN-Land geschickt hast ^^ |
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
Zitat:
|
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
![]() das da ? hm muss gehn. morgen mathe Klausur. cya&thx |
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
Zitat:
|
Re: was machen mit den Hangups ? Konsolenprobleme die zweite
OK.
------------------------------------ Frage1: gibt es eine Möglichkeit Messages von fremden Threads zu holen und zu verarbeiten ? Es schaut so aus, dass im Hauptthread ein Fenster erzeugt wird, und wenn der Hauptthread hängt, sollen die Messages an das Fenster weiterhin abgearbeitet werden. Packe ich die Erzeugung des Fensters in einen separaten Thread, ergibt sich das Problem, dass wiederum von dem Thread mit Fenster auf globale Variablen (Input und Output) zugegriffen (AssignDev) wird, was allerdings zu Fehlern führt. Frage2: wie löse ich das Problem wenn es keine Möglichkeit zu Frage1 gibt ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz