15. november 2011 - 12:13Der er
3 kommentarer og 1 løsning
Kald af "events" i "konsol" applikationer
Hej Alle !
Jeg er ved at lave et program som IKKE skal køre med et vanligt grafisk windows-brugerinterface
Programmet skal - som konsol applikation - kommunikere med eksternt udstyr, via den serielle port.
I tidligere programmer (med grafisk brugerinterface) har jeg anvendt Async Professional (version 3)og det har fungeret ganske glimrende. Mit problem er nu at jeg jo flytter ud af det grafiske og "event-drevne" miljø, og nu er jeg på den. For hvordan kalder man en komponents "events" i konsol miljøet ??.
Er der nogen der har et kode eksempel på hvordan man refererer/aktiverer et "Onxx" event i en konsol applikation - altså vel at mærke et event for et importeret objekt som eksempelvis ApdComport og ikke et man selv skal definere under type erklæringen.
Jeg har læst mig til at man med fordel kan anvende "Application.processmessages" fra unit "Forms" i en løkke i hovedprogrammet, men kan ikke rigtig få det til at virke - eller rettere jeg er ikke sikker på jeg har sat det korrekt op.
Hvis din comp. følger "delphi" måden, er der som regl en DoOnxxxx som er den funktion som der udfører eventen.
Når du skal hooke op på en event har du behov for en sender af typen Object, så du kan evt. lave en lille klasse som du kan bruge som "sender" parameter, så burde det spille, men du kan komme ud for at din comp. "kræver" forms for at funke, men så må du google en anden seriel-comp. du kan bruge
Jeg har som regl en repeat until løkke i mine console-apps, med en sleep og et check på "exit"
Tak for din kommentar - kunne du evt. henvise til et eksempel, eller skrive det i pseudokode, jeg er lidt "fersk" på området?
Men måske er jeg ikke helt klar i min forklaring : ApdComport objektet har et meget udmærket event der holder øje med hvad der ankommer på den serielle port. I det øjeblik en bestemt streng dukker op , " slår eventet" og udfører noget kode. Det der er mit ønske er at "aktivere" det event, så det står og kigger kontinuerligt. Så slipper jeg for selv at skulle kode diverse kig i inputbufferen...
Du laver et forms project og laver det events du skal bruger, så kopier du event procedure-headerne over på dit console app object og laver event-procedurende på det object ( en event skal være prcedure of object :-) ), nu kan du smide dit forms project væk. du kan så tilknytte dine event-procedurer til dine event's manuelt i din console-app og det hele skulle gerne funke som smurt :-)
hmmm... TROR jeg ved hvad du mener. Jeg prøver det imorgen og ser hvad der sker - vendertilbage
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.