NickTheGreek Δημοσ. 28 Νοεμβρίου 2002 Δημοσ. 28 Νοεμβρίου 2002 Gia xara, Exo ftiaksei ena programmataki pou anamesa s'alla kanei kai ping se mia diyethinsi meso tou ICMP.DLL kai sigkekrimena me to icmpsendecho api.Ena mikro problimataki pou exo einai oti kathos ektelei thn parakalo diadikasia (ping) to programma kolaei gia ligaki,analoga panta me tin timi tou timeout_ping.Mporo kapos na to antimetopiso? hPort = IcmpCreateFile() If IcmpSendEcho(hPort, _ dwAddress, _ sDataToSend, _ Len(sDataToSend), _ 0, _ ECHO, _ Len(ECHO), _ timeout_ping) Then Ping = ECHO.RoundTripTime Else Ping = ECHO.status * -1 End If Call IcmpCloseHandle(hPort) Simeiosi to timeout_ping einai o xronos mesa ston opoio prepei na "epistrepsei" to ping kai einai auto pou prokalei to kolima.Stin periptosi mou einai 150ms.Mporei na rithmistei pio xamila alla auto den einai lisi.
damn3 Δημοσ. 28 Νοεμβρίου 2002 Δημοσ. 28 Νοεμβρίου 2002 1 den xerw ean ypostirizei i vb threads, ypothetw pws nai. 2 thread einai ena programma mesa se ena allo programma. 3 otan trexei to allo programma kai dimiourgiseis thread einai san na exeis trexei ena programma mesa apo to allo programma ( do you get the point? ). 4 alla mporeis na diaxeiristeis pio eukola ta dedomena mesa apo threads para mesw allon polyplokwn diadikasiwn ean kalouses exwteriko programma. 5 otan exeis dimiourgisei kapoio thread to kentriko programma den kollaei, alla symperiferete les kai den px: kanei ping. 6 pio grigoro px: ean thes na kaneis ping se 6 ip tautoxrona, dhmiourgeis 6 threads kai kanei tin douleia sou me 1 hit. -> px: ping se 36 ips tha ginoun 6 fores pio grigora ( anexartita apo tin syndesi pou exeis ), einai kathara thewritiko, px: perimeneis 2 secs gia na teleiwsei to ping, 36*2 = 72 secs enw me 6 threads einai 36*2/6 = 12 secs ( elpizw na min kanw lathos stin logiki mou ), kai xwris na exei kolisei i forma ( window ) tou programmatos. 7 akoma omws kai ean ypostirizei threads i vb tha einai to idio bloated opws otidipote tha ftiaxneis se vb, ara adikos o kopos pou tha kaneis na katseis na grapseis threads se vb. 8 threads is a nightmare, but a fast one ;p 9 pisteuo oti kapou exei i vb pseudo-threads support ;p 10 sigoura omws threads ypostirizoun oi kales glosses hhl ( kai i assembly fysika : auti ta kanei ola )
NickTheGreek Δημοσ. 28 Νοεμβρίου 2002 Μέλος Δημοσ. 28 Νοεμβρίου 2002 Thanks gia tin megali apantisi. To psaksa ligo to thema kai diabasa oti parolo pou ginetai na dimiourgiseis multithreads stin VB-6 (h VB.NET ta ypostirizei),den einai kai oti kalytero gia tin eustatheia tou programmatos,einai poliploko kai den ksero an mporei na prokalesei kai astatheia sto sistima. Auto pou telika ekana,an kai tha protimousa mia pio amesi lisi xoris na xreiastei na "spaso" to programma,einai oti dimiourgisa ena dll me thn parapano routina ap'opou kai kano to pinging kai epistrefo sto programma to apotelesma.
damn3 Δημοσ. 29 Νοεμβρίου 2002 Δημοσ. 29 Νοεμβρίου 2002 kai den kollaei sto dll? einai o idios kwdikas? giati theoritika prepei na kolaei opws kolage mesa sto programma.
NickTheGreek Δημοσ. 30 Νοεμβρίου 2002 Μέλος Δημοσ. 30 Νοεμβρίου 2002 Oxi me to dll den kolaei (idios kodikas) giati isos (mporei na leo kai blakeia) epeidi einai ksexoristo arxeio na xrisimopoiei diko tou thread. Akoma kai timi 5 lepton na doso sto timeout_ping to kirios programma leitourgei xoris kolimata... Telos panton to programma pou exo ftiaksei einai ena LAN chat me to opoio antallaseis minimatakia,sou deixnei an o allos einai online ka.Auto pou thelo na kano edo kai kairo alla olo problimata mou parousiazei einai na prostheso voice chat,kati san to Roger Wilco an exeis akousta. Theoritika ola einai oraia kai kala.Meso tou DirectSound dimiourgeis ena recording buffer sto opoio apothikeueis omilia px 0.5sec.Stin sinexeia kai meso ton winsock api's - UDP,auto to buffer to stelneis aneta stous allous ypologistes pou einai online,me tin morfi byte array kai paizeis auto to buffer meso directsound pali. To problima pou exo einai oti o ixos akougetai men alla me echo kai spasta.An exeis kapoia gnosi peri tou thematos...
apoc Δημοσ. 30 Νοεμβρίου 2002 Δημοσ. 30 Νοεμβρίου 2002 Οχι δεν λες βλακεια (ελπιζω να ειμαι και εγω σωστος χεχεχ) , η κληση στο dll θα τρεξει σε διαφορετικο context και το οποιο προβλημα στην κληση δεν προκειται να δημιουργησει προβληματα στις υπολοιπες διεργασιες που αναλαμβανουν το refresh της φορμας πχ! Νομιζω αναλογη τεχνικη μπορεις να ακολουθησεις και με τα Active Χ τα μπορουν (και) να τρεξουν σε διαφορετικο process απο το host application!
NickTheGreek Δημοσ. 30 Νοεμβρίου 2002 Μέλος Δημοσ. 30 Νοεμβρίου 2002 Nai ActiveX DLL einai. H VB den mporei na dimiourgisei amesa (kai nomizo katholou) kanonika Dlls pou na exoun exported functions.
Dvs Δημοσ. 1 Δεκεμβρίου 2002 Δημοσ. 1 Δεκεμβρίου 2002 H VB den mporei na dimiourgisei amesa (kai nomizo katholou) kanonika Dlls pou na exoun exported functions. nai auto isxiei (na voithiso kai ego ligo :>)
apoc Δημοσ. 1 Δεκεμβρίου 2002 Δημοσ. 1 Δεκεμβρίου 2002 Οπα γιατι μπερδευομαι τι πως το εννοειτε το exported?Να καλεις την μεθοδο χωρις να εχεις φιαξει καποιο αντικειμενο? Ξερη κληση απλα κανωντας import to dll?
Prodigal_Son Δημοσ. 1 Δεκεμβρίου 2002 Δημοσ. 1 Δεκεμβρίου 2002 Paidia ta dll pou dimiourgeis me VB den einai kanonika dll opos diladi auta pou mporeis na kaneis me C++ h C alla einai ena COM antikeimena
damn3 Δημοσ. 1 Δεκεμβρίου 2002 Δημοσ. 1 Δεκεμβρίου 2002 gi auto rotisa ean den kolaei, giati sto kanoniko dll otan tha fortwsei tin synartisi apo to dll stin mnimi tou kyrios programmatos, einai to idio pragma san na eixes tin synartisi mesa sto programma. diladi ta dll pou ftiaxnei i vb einai kati san object containers stin object pascal malakia den einai na min mporeis na ftiaxeis kanonika dlls? kapou tha exei gia kanonika. apoc exported san to winapi, oxi san ta antikoimena pou px: exoun ta windows 2000 (com).
NickTheGreek Δημοσ. 2 Δεκεμβρίου 2002 Μέλος Δημοσ. 2 Δεκεμβρίου 2002 Ta ActiveX Dlls einai opos eipe o damn san object containers.Esto oti dimiourgeis ena me class name Test pou periexei mia function px Function1.Gia na thn kaleseis meta tha prepei na prostheseis to dll sto kirios programma peripou san object kai meta na kaleseis thn diadikasia me Test.Function1....... apoc otan leme exported functions ennooume ta gnosta api's pou ta kaleis apeutheias san functions apo to kirios programma,xoris na xreiastei opos les na ftiakseis ena antikeimeno. PX gia na kaleseis thn shellexecute function pou periexetai sto shell32.dll arkei na prostheseis thn parakato grammi sto programma: Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.