AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi was machen mit den Hangups ? Konsolenprobleme die zweite ^ ^
Thema durchsuchen
Ansicht
Themen-Optionen

was machen mit den Hangups ? Konsolenprobleme die zweite ^ ^

Offene Frage von "hboy"
Ein Thema von hboy · begonnen am 9. Jan 2005 · letzter Beitrag vom 26. Jan 2005
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Assarbad
(Gast)

n/a Beiträge
 
#31

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 21:33
Zitat von hboy:
kleine zwischenbilanz:
Das hier artet irgendwie in eine code- und Textschlacht aus. der Lösung bin ich allerdings noch nicht viel näher gekommen.
Also, in meinem D5 (ich habe nur D3, 4 und 5) kann ich kein TCustomWnd finden. Da also du selber das implementiert haben mußt, kann ich dir auch nicht sagen, wo du die Schleife versteckt hast. ABER alternativ zur Modifikation der Schleife könntest du doch die Fensterfunktion subclassen und alle für dich wichtigen Nachrichten abfangen.
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#32

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 21:39
*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.
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#33

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 21:43
also Oli...

erst mal danke dass du dich immer noch damit rumquälst. Nich jeder hat so viel geduld

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 ?
Power is nothing without TControl
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#34

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 22:02
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 von hboy:
Vielleicht doch das Konsolenfenster in einem völlig separaten thread basteln und Messages behandeln ?
So sieht's aus ...

Daß mit den Grundlagen war sicherlich nicht böse gemeint, aber unter Windows gilt nunmal: kein Fenster ohne Nachrichtenschleife.
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#35

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 22:04
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
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#36

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 22:06
achja... platfrom sdk ? sowas gibts uiuiui *grins* sowas wäre auch mal nich schlecht *g*

PS: bin ja noch gottfroh dass du mich nich nach MSDN-Land geschickt hast ^^
Power is nothing without TControl
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#37

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 22:16
Zitat von hboy:
achja... platfrom sdk ? sowas gibts uiuiui *grins* sowas wäre auch mal nich schlecht *g*

PS: bin ja noch gottfroh dass du mich nich nach MSDN-Land geschickt hast ^^
Schick ne PN (mit Snailmail-Adresse) und du bekommst die beiden aktuellen PSDKs zugeschickt. Frei Haus.
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#38

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 22:20
http://www.microsoft.com/msdownload/...ULLInstall.htm

das da ?

hm muss gehn. morgen mathe Klausur. cya&thx
Power is nothing without TControl
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#39

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 12. Jan 2005, 22:23
Zitat von hboy:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
Jupp, das für XP SP2 und das für Windows 2003 Server (und alle anderen Windowsversionen außer XP SP2).
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#40

Re: was machen mit den Hangups ? Konsolenprobleme die zweite

  Alt 15. Jan 2005, 13:02
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 ?
Power is nothing without TControl
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz