09. august 2004 - 11:47Der er
25 kommentarer og 3 løsninger
Overfør data fra web-side til vb6
Hej.
Jeg har en exe-fil kørende på en computer. Fra en webside vil jeg gerne overføre en variabel (måske 2) til exe-filen, med en event når dataene modtages i vb.
Er der nogen som har erfaring med overførsel af data, på ovennævnte måde?
sjh: Dit eksempel ser ud til at omhandle kommunikation fra vb6 til en access database, via internet (asp), er dette korrekt?
Mit ønske er at en webside i en browser (clientside) genererer en event i en lokal exe-fil, samtidigt med at den sender 1 eller 2 variabler med over til exe-filen.
men havd skulle det gøre godt for at DU starter et program på en givet computer.. det tror jeg ikke jeg ville bryde mig om.. og du skal jo ikke være sikker på at en bruger tillader at køre et program som bliver startet fra din hjemmeside..
Hvad skal det bruges til?? og hvordan skal det virke??
Jeg har et program kørende (ved computerens start), som bruges i forbindelse med noget telekommunikation.
Herefter vil jeg (på en webside som jeg selv laver) trykke på et ikon, hvorefter der bliver sendt oplysninger fra denne side til mit lokale vb6 program.
Altsammen foregår fra en intranet-side, som jeg har fuld kontrol over, samt egen exe-fil som jeg også har fuld kontrol over.
Mit spørgsmål drejer sig hovedsageligt om, hvilken teknik der skal bruges for at sende oplysninger fra web-siden til exe-filen.
Jeg er kommet til at tænke på, at det muligvis kan laves som en ekstern protokol, selvom jeg ikke kender teknikken til dette. Det kan sammenlignes med et mailto link eller et skypeme link, blot at jeg ikke er klar over hvordan man laver dette ?!?
Der er blot 1 lille detalje, linket åbner en ny instans af exe-filen, hver gang der klikkes på det.
I min exe-fil har jeg et check for flere instanser:
' Subroutine to show the previous instance ( If it is already running ) Public Sub ShowPrevInstance() Dim OldTitle As String Dim ll_WindowHandle As Long
'saving the current title in OldTitle variable 'and changing the application title OldTitle = App.Title App.Title = "abcba - This App Will Be Closed"
'finding the previous instance. if you are using VB 5.0, 'change "ThunderRT6Main" to "ThunderRT5Main" ll_WindowHandle = FindWindow("ThunderRT6Main", OldTitle)
'if there is no old instances of your application - exit. If ll_WindowHandle = 0 Then Exit Sub
'Find the window we need to restore ll_WindowHandle = GetWindow(ll_WindowHandle, GW_HWNDPREV)
'Now restore it Call OpenIcon(ll_WindowHandle)
'And Bring it to the foreground Call SetForegroundWindow(ll_WindowHandle)
Call SetFocus(ll_WindowHandle)
If IsIconic(ll_WindowHandle) Then Call ShowWindow(ll_WindowHandle, SW_RESTORE) Else Call ShowWindow(ll_WindowHandle, SW_SHOW) End If
End Sub
Kan man sende $command over til den tidligere instans?
Når jeg bruger dit eksempel, ser det ud til at virke.
Jeg har dog et problem med at få 'Data-overførslen' til at virke, når jeg implementerer dette i min egen applikation. Jeg har sat formens linkmode til source, samt linktopic til jobless. Alligevel kommer der en fejl, når jeg åbner instans nr 2: No foreign application responded to a DDE initiate.
jeg får også den her fejl ved nr2 instans: No foreign application responded to a DDE initiate. hvad er det der helt præcist skal rettes i? og rettes til hvad? har prøvet at rette i linktopic men det hjalp ik rigtig
If App.PrevInstance Then If Len(Command$) > 0 Then With txtCMD .LinkMode = vbLinkNone .LinkTopic = "Mine Gule Sider|Mine Gule Sider" .LinkItem = .Name .LinkMode = vbLinkManual .Text = Command$ .LinkPoke End With
strCaption = Me.Caption: Me.Caption = "" AppActivate strCaption Unload Me If InStr(Command$, "mgs://import/") Then Timer2.Enabled = True End If End If Else txtCMD.Text = Command$ If InStr(Command$, "mgs://import/") Then Timer2.Enabled = True End If End If
-----end form_load--------
-------------txtCMD_Change----------
If Len(txtCMD) > 0 Then Me.Show 'Udfør noget mere her txtCMD = "" End If
det der linktopic hvilken værdi er det den skal ha? er det caption på ens form, navnet på projektet eller???? og skal linktopic på frmmain og txtcmd være ens? prøvede med Mine Gule Sider som linktopic på frmmain det var no go
så er der også lige din Timer1.. den skal du udfør under txtCMD_Change()
Private Sub txtCMD_Change() If Len(txtCMD) > 0 Then Me.Show 'Udfør noget mere her If InStr(txtCMD, "mgs://import/") Then Timer2.Enabled = True End If txtCMD = "" End If End Sub
ok jeg har rykket timerdelen ind i txtCMD_change jeg har prøvet at sætte formens linktopic til: Mine Gule Sider <--det der står i caption på min form MGS <--- navnet på min protokol MGS:// addylookup <--- navnet på projektet
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.