38 static void post(HCONV hc,
const char*
name);
80 WinExec(cmd, SW_SHOW);
91 hszItem = DdeCreateStringHandle (
idInst, (LPTSTR)name, CP_WINANSI );
108 APPCMD_CLIENTONLY, 0L ) ){
109 HandleOutput (
"Client DDE initialization failure.\n" );
113 hszService = DdeCreateStringHandle ( idInst,
"NrnBBS", CP_WINANSI );
114 hszAdmin = DdeCreateStringHandle ( idInst,
"Admin", CP_WINANSI );
115 hszUser = DdeCreateStringHandle ( idInst,
"User", CP_WINANSI );
116 hszItem = DdeCreateStringHandle ( idInst,
"DDEData", CP_WINANSI );
120 (PCONVCONTEXT) NULL );
121 if (
hConv == (HCONV)NULL ){
129 WinExec(buf, SW_MINIMIZE);
147 DdeDisconnect (
hConv );
162 DdeUninitialize (
idInst );
167 if ( hc != (HCONV)
NULL ){
169 hszItem = DdeCreateStringHandle (
idInst, (LPTSTR)name, CP_WINANSI );
174 if (
hData != (HDDEDATA)NULL ) {
175 hData = DdeClientTransaction ( (LPBYTE)
hData, -1, hc,
181 HandleOutput (
"A connection to a DDE Server has not been established.\n" );
186 if ( hc != (HCONV)
NULL ){
191 hData = DdeClientTransaction ( NULL, 0, hc,
197 DdeGetData (
hData, (LPBYTE) szDDEData, 80L, 0L );
199 if ( szDDEData != NULL ){
201 ok = szDDEData[0] -
'0';
208 HandleOutput (
"A connection to a DDE Server has not been established.\n" );
217 pf = (pflag) ? pflag : &f;
220 while(PeekMessage(&msg,
NULL, 0, 0, PM_REMOVE)) {
221 TranslateMessage(&msg);
222 DispatchMessage(&msg);
228 #if defined(__MWERKS__) 234 HDDEDATA EXPENTRY _export
DDECallback ( WORD wType, WORD
wFmt, HCONV hConvX, HSZ hsz1,
235 HSZ hsz2, HDDEDATA
hData, DWORD dwData1,
240 case XTYP_DISCONNECT:
243 return ( (HDDEDATA)
NULL );
248 case XTYP_XACT_COMPLETE:
254 DdeQueryString(
idInst, hsz2, buf, 100, CP_WINANSI);
259 return ( (HDDEDATA)
NULL );
268 case DMLERR_DLL_NOT_INITIALIZED:
272 case DMLERR_INVALIDPARAMETER:
276 case DMLERR_NO_CONV_ESTABLISHED:
280 case DMLERR_NO_ERROR:
void nrnbbs_notify(const char *name, NrnBBSCallback f)
void nrnbbs_exec(const char *cmd)
void HandleError(DWORD DdeError)
void nrnbbs_post(const char *name)
static BOOL take(HCONV hc, const char *name, BOOL look)
void nrnbbs_wait(BOOL *pflag)
BOOL nrnbbs_take_int(const char *name, int *pi)
sprintf(buf," if (secondorder) {\ " int _i;\" " for(_i=0;_i< %d;++_i) {\" " _p[_slist%d[_i]]+=dt *_p[_dlist%d[_i]];\" " }}\", numeqn, listnum, listnum)
void nrnbbs_post_int(const char *name, int i)
BOOL nrnbbs_take(const char *name)
BOOL nrnbbs_look(const char *name)
char * getenv(const char *s)
void(* NrnBBSCallback)(const char *)
static NrnBBSCallback cbfunc_
void nrnbbs_post_string(const char *name, const char *data)
static double look(void *v)
HDDEDATA EXPENTRY _export DDECallback(WORD wType, WORD wFmt, HCONV hConvX, HSZ hsz1, HSZ hsz2, HDDEDATA hData, DWORD dwData1, DWORD dwData2)
BOOL nrnbbs_take_string(const char *name, char *val)
static void post(HCONV hc, const char *name)