Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Software >> Microsoft Access >> Content
Hoe kan ik Excel Uitvoeren als een DDE Server
Dynamic Data Exchange ( DDE ) is een bericht protocol dat Windows-applicaties geeft de hulpmiddelen om gegevens automatisch te wisselen . Het maken van een toepassing die gegevens geeft voor programma's als Excel is een belangrijke toepassing voor DDE . Als je een programma dat werd gevoed met beurs koersen zoals ze gebeuren hadden , bijvoorbeeld , kon DDE toelaten een Excel gebruiker om die informatie te bekijken en ze kan goed in zijn berekeningen . Wat uw reden ook , het creëren van een basis DDE-server is een uitdaging , maar zeker haalbaar . Wat je nodig hebt
Windows NT 4.0
Toon Meer Aanwijzingen
Bouw een DDE Server
1

Open Visual C + + 6.0 en start een " New Project . " < br >

Klik 2 op " Win32Application " om het als het type project selecteren , noem het dan " DdemlSvr . " Selecteer " An Empty Project" toen hem gevraagd werd voor het type project dat u wilt .
3

Voeg een bestand genaamd " main.cpp . " . om uw project
4

Kopieer de volgende code :

# include

# include

# include

//Globals ...

HSZ g_hszAppName
;

HSZ g_hszTopicName
;

HSZ g_hszItemName
;

int g_count = 0 ;

DWORD g_idInst
= 0 ;

//verklaringen
:

HDDEDATA EXPENTRY DdeCallback
( UINT type, UINT fmt , HCONV hConv , HSZ hsz1 , HSZ hsz2 , HDDEDATA hData , DWORD dwData1 , DWORD dwData2 ) ;

//WinMain ( ) ..

int APIENTRY WinMain
( hINSTANCE hInstance , hINSTANCE hPrevInstance , LPSTR lpCmdLine , int nCmdShow ) {

//initialiseren DDEML ...

if ( DdeInitialize ( & g_idInst , DdeCallback , APPCLASS_STANDARD , 0 ) ) {

MessageBox
( NULL , " DdeInitialize ( ) mislukt " , " Fout " , MB_SETFOREGROUND ) ;

return
-1 ;

}

//Maak snaar handvatten ...

g_hszAppName
= DdeCreateStringHandle ( g_idInst , " DdemlSvr ' , NULL ) ;

g_hszTopicName = DdeCreateStringHandle ( g_idInst , " MyTopic ' , NULL ) op Twitter ;

g_hszItemName = DdeCreateStringHandle ( g_idInst , " MijnItem ' , NULL ) ; < br >

if ( ( g_hszAppName == 0 ) | | ( g_hszTopicName == 0 ) | | ( g_hszItemName == 0 ) ) {

MessageBox
( NULL , " DdeCreateStringHandle ( ) is mislukt " , " Fout " , MB_SETFOREGROUND ) ;

terugkeer -2 ;

}

//Register DDE server


if ( DdeNameService ( g_idInst , g_hszAppName , NULL , DNS_REGISTER ! ) ) {

MessageBox
( NULL , " DdeNameService ( ) is mislukt ! " , " Fout " , MB_SETFOREGROUND ) ;

return
-3 ;

}

//Creëer een timer te simuleren het wijzigen van gegevens ...

SetTimer
( 0,0,1,0 ) ;

//Message loop
:

MSG msg
;

terwijl ( GetMessage ( & msg , NULL , 0 , 0 ) ) {

//Op WM_TIMER , veranderen onze toonbank , en actualisering klanten ...

if ( msg . bericht == WM_TIMER ) {

g_count + + ;

DdePostAdvise
( g_idInst , g_hszTopicName , msg.wParam ;

}

//Onze DDE Terugbelfunctie ...

HDDEDATA EXPENTRY DdeCallback
( UINT wType , UINT fmt , HCONV hConv , HSZ hsz1 , HSZ hsz2 , HDDEDATA hData , DWORD dwData1 , DWORD dwData2 ) {

schakelaar
( wType ) {

//-------------------- --------------------------------------------

geval XTYP_CONNECT : . !

//Client verbinding probeert te reageren TRUE als we hebben wat ze willen ...

if ( ( DdeCmpStringHandles ( hsz1 , g_hszTopicName ) ) &&

( DdeCmpStringHandles ( hsz2 , g_hszAppName ) ! ) )

return
( HDDEDATA ) TRUE ; //server ondersteunt Topic | Service

anders

terugkeer
FALSE ; //SERVER ondersteunt geen Topic | Service

//------------------------------------ ----------------------------

geval XTYP_ADVSTART :

//Client starten adviserende lus .

//Zeg " ok " als we hebben wat ze vragen ...

if ( ! DdeCmpStringHandles ( hsz1 , g_hszTopicName ) ) &&

( ! DdeCmpStringHandles ( ( hsz2 , g_hszItemName ) ) )

return
( HDDEDATA ) TRUE ; //server ondersteunt Topic | Service

anders

terugkeer
FALSE ; //server biedt geen ondersteuning Topic | dienst

//----------------------------------------- -----------------------

geval
XTYP_ADVREQ :

//Client wil onze gegevens Omdat dit specifiek is . excel , we zullen

//ga je gang en neem aan dat ze willen XlTable - geformatteerde gegevens . voor een

//generic DDE server , wilt u misschien de verschillende formaten verwerken

//gespecificeerd door de doorgegeven fmt parameter .

if ( ! DdeCmpStringHandles ( hsz1 , g_hszTopicName ) &&

! DdeCmpStringHandles
( hsz2 , g_hszItemName ) ) {

korte xltableData
[ 100 ] ;

//tdtTable opnemen
...

xltableData [ 0 ] = 0x0010 ; //tdtTable

xltableData [ 1 ] = 4 ; //2 korte ints volgende

xltableData [ 2 ] = 1 ; //# rijen

xltableData [ 3 ] = 1 ; //# cols

//tdtInt opnemen
... < br >

xltableData [ 4 ] = 0x0006 ;

xltableData [ 5 ] = 2 ;

xltableData [ 6 ] = ( korte ) g_count ;

terugkeer DdeCreateDataHandle
( g_idInst , ( uchar * ) xltableData , 2 * 7 , 0 , g_hszItemName , fmt , 0 ) ;

}

//-------------- --------------------------------------------------

default
:

return
( HDDEDATA ) NULL ;

}

}
5

Plak de code in het bestand " main.cpp " die u hebt gemaakt .

Compile 6 en start het project .
Test Your Server

Press 7 " Ctrl " + " Shift " + " Esc " om het Windows Taakbeheer , selecteer het tabblad ' Processen ' .
8

Zorg dat " DdemlSvr.exe " is een van de applicaties die draaien . op de lijst
9

Start Microsoft Office Excel en typ " = DdemlSvr | ! MyTopic MijnItem " in een cel de cel moet nu de toenemende waarde van de g_count bevatten
< br . . >
Gebruik de server op afstand
10

Voer het " DdemlSvr.exe " in een Windows NT 4.0 machine die wordt genetwerkt . dan beginnen " DdeShare " vanaf de opdrachtregel .
< br > 11

Klik op "Aandelen " uit het menu dat verschijnt , dan is ' DDE Aandelen , " gevolgd door " Share toevoegen . "
12

Voer de volgende waarden onder " Application Name " : < br >

Share Naam : MyShare $

Oude Stijl
: DdemlSvr.DDE

Nieuwe Stijl
: DdemlSvr.OLE

Static : DdemlSvr
13

Enter " MyTopic " in de drie vakjes onder " Topic Name . " Selecteer "OK ​​. "
14

Klik op " MyShare $ , " dan " Trust-Share , " dan is de " ingewijde aan toepassing inschakelen "checkbox . Selecteer" OK " in alle dialoogvensters en sluit " DdeShare . "
15

Run Excel op een andere Windows NT 4.0 machine , maar nog steeds op hetzelfde netwerk . < br >

Copy 16 het volgende :

= ' \\ \\ servernaam \\ NDDE $ ' | ' MyShare $ ' MijnItem

Plak 17 wat je gekopieerd in ! een cel in Excel . Vervang " SERVERNAME " met de naam van uw netwerk server machine . je moet een snel toenemend aantal in de cel te zien .

Previous: Next:
  Microsoft Access
·Hoe te Contactinformatie Expor…
·Hoe om te Eigendom van een Mic…
·Hoe te : PMT functie in Excel …
·Hoe de Excel Report Manager Ad…
·Hoe te Animated GIF -bestanden…
·Wat is een uitgebreide grafiek…
·Hoe maak je een Excel -werkbla…
·Hoe maak je een Check Box make…
·Hoe het opzetten van een linea…
  Related Articles
Hoe maak je een Tilde gebruiken in een W…
Hoe kan ik een Umlaut gebruiken in een W…
Hoe maak je een Holiday Nieuwsbrief op u…
Hoe maak je een viervoudige Wenskaart ma…
Hoe maak je een Tent - Fold Wenskaart Ma…
Hoe te Spelling en grammatica fouten te …
Hoe kan ik een document Zoom in Word 200…
Hoe je tekst rond een afbeelding in Word…
Hoe je de uitlijning van de tekst wijzig…
  Software Articles
·Hoe kan ik Excel Rijen lezen in VB.NET 
·Wat is de Application Connapi.dll ? 
·Hoe kan ik een MPG converteren naar 3GP 
·Hoe Access snel leren 
·Hoe kan ik iets op Google Docs op een Ju…
·Waarom heb ik twee exemplaren van Outloo…
·Hoe kan ik een lijst in Works Alfabetise…
·Wat zijn de voordelen van plagiaat detec…
·Hoe maak je Windows automatisch comprime…
Copyright © Computer Kennis http://www.nldit.com