OS2.org Site Index - Feedback - Impressum
Sprachauswahl / Choose your Language News Software Hardware Projekte Forum Tipps Links Verschiedenes
Editorial Diskussion HelpDesk Umfrage
[Forum]
in nach (Erweiterte Suche)
[Forum]
( Archiv ) ( Neues Thema )

( Zeige die Threadübersicht ) ( Zur Startübersicht )
09.09.1999
Win3.11 Browser probs (von: Alexander, 00:00:00) ^
Hmm hab hier mal aus jux den Opera 3.6 für 3.11
installiert. Im Fullscreen Modus bekomme ich sofort
die Seiten angezeigt, wenn ich aber seamless öffne
oder winos/2 fenster und dann den Opera öffne,
kann das Dingen einfach keine Seite finden :-((

Wer weiss worans liegt ?!?!


[ Leser: 154 ]

10.09.1999
Re: Win3.11 Browser probs (von: Alexander Beyrer, 00:00:00)
Fragt sich, wie Du ins Netz gehst, via OS/2 oder via WinOS2?
Ich habe zwei Vermutungen woran es liegen könnte.
Entweder wenn Du via WinOs2 im Netz bist:
Du startest seamless getrennte Sitzungen, die dann nicht miteinander 'reden' können.
Im Einstellungsnotitzbuch unter Sitzung 'Getrennte Sitzung' mal NICHT anhaken und probieren, ob es dann klappt.
Oder wenn Du via OS2 im Netz bist:
Im Einstellungsnotizbuch WinOs2-Einstellungen den Punkt WIN_DDE mal aktivieren.
Gruß/2

Re: Re: Win3.11 Browser probs (von: Guenther, 00:00:00)
Wie bis du denn zufrieden mit dem Opera?

Re: Re: Re: Win3.11 Browser probs (von: Alexander, 00:00:00)
Opera ?!?! nun ja er ist wesentlich schneller
als die anderen beiden (IE4-5 und NS4.x)
Es gibt aber ein paar Seiten die Opera irgendwie
nicht lesen kann,, :-(( und da es keinen Win3.11
Java plugin gibt, hab ich auch kein Java :-(
(aber wofür hab ich os/2 ??)
Danke für den Tip mit getrennte Sitzung und DDE ..-
nun gehts ...


13.09.1999
Re: Re: Re: Re: Win3.11 Browser probs (von: Guenther, 00:00:00)
Auch noch 2 Fragen:

1. Kann der Opera JavaScript?
2. Wenn ich mit OS/2 ins Netz gehe (DOIP), dann findet der Opera keine Seite... :-((

Was mache ich falsch?

14.09.1999
Hallo Guenter (von: Alexander Beyrer, 00:00:00)
Lies mal weiter oben, was ich zu 'Getrennten Sitzungen' und zu WIN_DDE geschrieben habe. Vermute auch bei Dir hier das Problem der nicht auffindbaren Seiten.

15.09.1999
Re: Hallo Guenter (von: Alexander, 00:00:00)
naja Opera und Java(Script) ist halt so eine Sache
bei manchen Seiten kein Problem,
bei anderen ohne den Plugin schwierig ...

Achso vielleicht solltest Du Dir noch die Dateien
Resolv und Resolv2 im tcpipdosetc ansehen.
die muessen den fuer OS/2 im etc verzeichnis
entsprechen.Bei Injoy macht das der Dialer uebrigens
automatisch ..
P.S.: Der Opera ist fürs downloaden von Programmen einfach nur schnell :-))

16.09.1999
Re: Re: Hallo Guenter (von: Guenther, 00:00:00)
Hallo, Alexander (einer oder zwei?),

habe ja Win-OS/2 im Fullscreen laufen und DDE ist auch aktiviert. Daran liegt es also nicht.

Die Dateien RESOLV und RESOLV2....hmmm. inwieweit spielen die eine Rolle?

Ok, werde sie mal checken.-

Danke für die Tips!

Mfg
Günther

Re: Re: Re: Hallo Guenter (von: Alexander, 00:00:00)
Hallo Guenther ...
In den Dateien resolv bzw resolv2 stehen die
beiden Nameserver (primärer und sekundärer) Deines
I-Net Providers. Dort werden die www.blabla Adressen
in die Numerischen Adressen umgewandelt.
Wenn Du im Opera also nur die numerischen Adressen
eintippst, und er die Seite dann korrekt anzeigt,
liegt Dein Problem bei diesen beiden Dateien

18.09.1999
Wenn man unter WINSO2 das Internet nutzen will, so... (von: Gerhard Arnecke, 00:00:00)
muß man verschiedene Konfigurationen beachten. Siehe hier im Helpdesk:

11.04.1999 Internet unter Win-OS2

In meinem Beitrag sind alle backslash verschwunden, die ich in den Verzeichnissen angegeben habe.

16.03.2005
DDE Source (10:25:52)
Auf der Server-Seite:

#define INCL_WIN

#include <os2.h>
#include <string.h> /* Standard-biblioteker */
#include <stdlib.h> /* */
#include <memory.h> /* */
#include <stdio.h> /* */
#include <process.h> /* */


#define szClass "OX400"
#define szTitel "DDE-Statement til Ekspedition"

/* ----------------------------------------------------------------------- */
/* -- Variable ----------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ---------------------- */
HAB hab; /* Handle - Anchor Block */
HMQ hMQ; /* Handle - Message Queue */
HWND hwndFrame; /* Handle - frame */
HWND hwndClient; /* Handle - client */
CHAR szTemp[80];

/* ----------------------------------------------------------------------- */
/* -- Dan DDE-struktur --------------------------------------------------- */
/* ----------------------------------------------------------------------- */
PDDESTRUCT MakeDDESegment(
HWND hwndDest,
PSZ pszItemName,
USHORT fsStatus,
USHORT usFormat,
PVOID pabData,
USHORT usDataLen
)
{
PDDESTRUCT pddes;
USHORT usItemLen;
USHORT usTotalLen;
SEL selBuf;
SEL selShared;
USHORT receiverPID;
USHORT receiverTID;

usItemLen = _fstrlen((char _far *)pszItemName) + 1;
usTotalLen = sizeof(DDESTRUCT) + usItemLen + usDataLen;

/* Opret DDE SEGMENT JOHNNY */
if( !DosAllocSeg( usTotalLen, &selBuf, SEG_GIVEABLE) )
{
/* Konverter SELECTOR til en c-pointer og udfyld aralet JOHNNY */
pddes = SELTOPDDES(selBuf);
pddes->cbData = usTotalLen;
pddes->fsStatus = fsStatus;
pddes->usFormat = usFormat;
pddes->offszItemName = sizeof(DDESTRUCT);
if( (usDataLen) && (pabData))
pddes->offabData = sizeof(DDESTRUCT) + usItemLen;
else
pddes->offabData = 0;

/* Her bruges farstrcopy istedet for strcopy da arealet kan ligge
langt væk, ITEMNAME er pænt nultermineret, defor strcopy(), mens
det er op til den enkelte programmør at lave en pæn afslutning, og
det kan vi ikke stole på at alle gør derfor memcopy() på data
arealet JOHNNY */
_fstrcpy((char _far *)DDES_PSZITEMNAME(pddes), (char _far *)pszItemName);

memcpy((char _far *)DDES_PABDATA(pddes), (char _far *)pabData, usDataLen);

/* Spørg handle pointeren som vi fik i DDE-initiate, hvilken processid
og threadid som i sin tid skabte handlen JOHNNY */

WinQueryWindowProcess(hwndDest, &receiverPID, &receiverTID);

/* Giv den modtagende process adgang til SEGMENTET SELBUF JOHNNY */
if( !DosGiveSeg(selBuf, receiverPID, &selShared) )
{
/* Lav endnu en c-pointer til segmentet som returneres og sende i DDE
meddelelsen senere. Det er denne pointer som den modtagende handle
benytter når den skal smage på dataene, da det ikke er selve data-
arealet som sende til den modtagende handle men kun en c-pointer
til det shared segment JOHNNY */
pddes = SELTOPDDES( selShared );
return (pddes);
}
}

return (NULL);
}

/* ----------------------------------------------------------------------- */
/* -- Message-loop for main-vindue --------------------------------------- */
/* ----------------------------------------------------------------------- */
MRESULT EXPENTRY Msgloop(
HWND hwnd ,
USHORT msg ,
MPARAM mp1 ,
MPARAM mp2 )
{
HPS hPS;
RECTL rectl;
HWND servhWnd;
int iRc;

PDDESTRUCT prc;

/* --------------------------------------------------------------------- */
switch(msg) {

/* -- WM_Create -------------------------------------------------------- */

case WM_CREATE:

WinPostMsg( hwnd, WM_USER, 0L, 0L );

break;

/* -- WM_USER ---------------------------------------------------------- */

case WM_USER:

iRc=WinDdeInitiate( hwnd, "EKSP", "ENGA" );

break;

/* -- WM_DDE_INITIATE_ACK ---------------------------------------------- */

case WM_DDE_INITIATEACK:

servhWnd = HWNDFROMMP( mp1 );

prc = MakeDDESegment(
servhWnd,
(PSZ)"EKSP",
0,
DDEFMT_TEXT,
(void*)szTemp,
24
);

iRc = WinDdePostMsg( servhWnd, hwnd, WM_DDE_EXECUTE, prc, TRUE );

WinPostMsg( hwnd, WM_DDE_TERMINATE, 0L, 0L );

/*
This is the solution suggested according to point2 in the report of pmr38043 i.e "Application does the cleanup"
DosFreeMem(mp2);

*/

break;

/* -- WM_DDE_TERMINATE ------------------------------------------------- */

case WM_DDE_TERMINATE:

WinPostMsg( hwnd, WM_CLOSE, 0L, 0L );

break;

/* -- WM_PAINT --------------------------------------------------------- */

case WM_PAINT:

hPS = WinBeginPaint(hwnd, 0, 0);

WinQueryWindowRect(hwnd, &rectl);

WinFillRect( hPS, &rectl, CLR_BACKGROUND);

WinEndPaint(hPS);

break;

/* -- Default -------------------------------------------------------- */

/* default:

return(WinDefWindowProc(hwnd, msg, mp1,mp2));

break; */ /* Not required to do this here : pmr38043 */


}
/* This is the solution suggested according to point1 in the report of pmr38043 i.e "Allowing PM to do the cleanup" */
return(WinDefWindowProc(hwnd, msg, mp1,mp2));
}

/* ----------------------------------------------------------------------- */
/* -- Start programmet --------------------------------------------------- */
/* ----------------------------------------------------------------------- */
void DDE_EKSP()
{
QMSG qmsg;
SHORT rc;
LONG ulFlag;

if ( (hab = WinInitialize(0) ) == 0 )
return;

if ( (hMQ = WinCreateMsgQueue(hab, 0)) == 0)
return;

rc = WinRegisterClass(
hab ,
(PCH)szClass ,
(PFNWP)Msgloop ,
CS_CLIPCHILDREN |
CS_SIZEREDRAW ,
0 );

if ( rc == FALSE )
return;

/* -- Sæt frame flags -------------------------------------------------- */

ulFlag =
FCF_TITLEBAR |
FCF_SYSMENU |
FCF_MINBUTTON |
FCF_SIZEBORDER |
FCF_NOBYTEALIGN ;

/* -- Dan vindue ------------------------------------------------------- */

hwndFrame = WinCreateStdWindow(
HWND_DESKTOP,
0 ,
&ulFlag,
szClass,
szTitel,
WS_MINIMIZED,
0,
100,
(HWND FAR *)hwndClient);

/* -- Sæt vinduet aktivt ----------------------------------------------- */

WinSetActiveWindow( HWND_DESKTOP, hwndFrame );

/* -- Main loop -------------------------------------------------------- */

while(WinGetMsg(hab, (PQMSG)&qmsg, 0, 0, 0))
WinDispatchMsg(hab,(PQMSG)&qmsg);

/* -- Luk vindue ------------------------------------------------------- */

WinDestroyWindow(hwndFrame);
WinDestroyMsgQueue(hMQ);
WinTerminate(hab);
}

void cdecl main()
{
USHORT usRc;
CHAR szBuffer[255];

while( 1==1 ) {
DDE_EKSP( );
for ( usRc = 0; usRc < 10000; usRc++ )
{
strcpy( szBuffer, szBuffer );
}
}
}




#define INCL_WIN

#include <os2.h>
#include <string.h> /* Standard-biblioteker */
#include <stdlib.h> /* */
#include <memory.h> /* */
#include <stdio.h> /* */
#include <process.h> /* */


#define szClass "OX400"
#define szTitel "DDE-Statement til Ekspedition"

/* ----------------------------------------------------------------------- */
/* -- Variable ----------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ---------------------- */
HAB hab; /* Handle - Anchor Block */
HMQ hMQ; /* Handle - Message Queue */
HWND hwndFrame; /* Handle - frame */
HWND hwndClient; /* Handle - client */
CHAR szTemp[80];

/* ----------------------------------------------------------------------- */
/* -- Dan DDE-struktur --------------------------------------------------- */
/* ----------------------------------------------------------------------- */
PDDESTRUCT MakeDDESegment(
HWND hwndDest,
PSZ pszItemName,
USHORT fsStatus,
USHORT usFormat,
PVOID pabData,
USHORT usDataLen
)
{
PDDESTRUCT pddes;
USHORT usItemLen;
USHORT usTotalLen;
SEL selBuf;
SEL selShared;
USHORT receiverPID;
USHORT receiverTID;

usItemLen = _fstrlen((char _far *)pszItemName) + 1;
usTotalLen = sizeof(DDESTRUCT) + usItemLen + usDataLen;

/* Opret DDE SEGMENT JOHNNY */
if( !DosAllocSeg( usTotalLen, &selBuf, SEG_GIVEABLE) )
{
/* Konverter SELECTOR til en c-pointer og udfyld aralet JOHNNY */
pddes = SELTOPDDES(selBuf);
pddes->cbData = usTotalLen;
pddes->fsStatus = fsStatus;
pddes->usFormat = usFormat;
pddes->offszItemName = sizeof(DDESTRUCT);
if( (usDataLen) && (pabData))
pddes->offabData = sizeof(DDESTRUCT) + usItemLen;
else
pddes->offabData = 0;

/* Her bruges farstrcopy istedet for strcopy da arealet kan ligge
langt væk, ITEMNAME er pænt nultermineret, defor strcopy(), mens
det er op til den enkelte programmør at lave en pæn afslutning, og
det kan vi ikke stole på at alle gør derfor memcopy() på data
arealet JOHNNY */
_fstrcpy((char _far *)DDES_PSZITEMNAME(pddes), (char _far *)pszItemName);

memcpy((char _far *)DDES_PABDATA(pddes), (char _far *)pabData, usDataLen);

/* Spørg handle pointeren som vi fik i DDE-initiate, hvilken processid
og threadid som i sin tid skabte handlen JOHNNY */

WinQueryWindowProcess(hwndDest, &receiverPID, &receiverTID);

/* Giv den modtagende process adgang til SEGMENTET SELBUF JOHNNY */
if( !DosGiveSeg(selBuf, receiverPID, &selShared) )
{
/* Lav endnu en c-pointer til segmentet som returneres og sende i DDE
meddelelsen senere. Det er denne pointer som den modtagende handle
benytter når den skal smage på dataene, da det ikke er selve data-
arealet som sende til den modtagende handle men kun en c-pointer
til det shared segment JOHNNY */
pddes = SELTOPDDES( selShared );
return (pddes);
}
}

return (NULL);
}

/* ----------------------------------------------------------------------- */
/* -- Message-loop for main-vindue --------------------------------------- */
/* ----------------------------------------------------------------------- */
MRESULT EXPENTRY Msgloop(
HWND hwnd ,
USHORT msg ,
MPARAM mp1 ,
MPARAM mp2 )
{
HPS hPS;
RECTL rectl;
HWND servhWnd;
int iRc;

PDDESTRUCT prc;

/* --------------------------------------------------------------------- */
switch(msg) {

/* -- WM_Create -------------------------------------------------------- */

case WM_CREATE:

WinPostMsg( hwnd, WM_USER, 0L, 0L );

break;

/* -- WM_USER ---------------------------------------------------------- */

case WM_USER:

iRc=WinDdeInitiate( hwnd, "EKSP", "ENGA" );

break;

/* -- WM_DDE_INITIATE_ACK ---------------------------------------------- */

case WM_DDE_INITIATEACK:

servhWnd = HWNDFROMMP( mp1 );

prc = MakeDDESegment(
servhWnd,
(PSZ)"EKSP",
0,
DDEFMT_TEXT,
(void*)szTemp,
24
);

iRc = WinDdePostMsg( servhWnd, hwnd, WM_DDE_EXECUTE, prc, TRUE );

WinPostMsg( hwnd, WM_DDE_TERMINATE, 0L, 0L );

/*
This is the solution suggested according to point2 in the report of pmr38043 i.e "Application does the cleanup"
DosFreeMem(mp2);

*/

break;

/* -- WM_DDE_TERMINATE ------------------------------------------------- */

case WM_DDE_TERMINATE:

WinPostMsg( hwnd, WM_CLOSE, 0L, 0L );

break;

/* -- WM_PAINT --------------------------------------------------------- */

case WM_PAINT:

hPS = WinBeginPaint(hwnd, 0, 0);

WinQueryWindowRect(hwnd, &rectl);

WinFillRect( hPS, &rectl, CLR_BACKGROUND);

WinEndPaint(hPS);

break;

/* -- Default -------------------------------------------------------- */

/* default:

return(WinDefWindowProc(hwnd, msg, mp1,mp2));

break; */ /* Not required to do this here : pmr38043 */


}
/* This is the solution suggested according to point1 in the report of pmr38043 i.e "Allowing PM to do the cleanup" */
return(WinDefWindowProc(hwnd, msg, mp1,mp2));
}

/* ----------------------------------------------------------------------- */
/* -- Start programmet --------------------------------------------------- */
/* ----------------------------------------------------------------------- */
void DDE_EKSP()
{
QMSG qmsg;
SHORT rc;
LONG ulFlag;

if ( (hab = WinInitialize(0) ) == 0 )
return;

if ( (hMQ = WinCreateMsgQueue(hab, 0)) == 0)
return;

rc = WinRegisterClass(
hab ,
(PCH)szClass ,
(PFNWP)Msgloop ,
CS_CLIPCHILDREN |
CS_SIZEREDRAW ,
0 );

if ( rc == FALSE )
return;

/* -- Sæt frame flags -------------------------------------------------- */

ulFlag =
FCF_TITLEBAR |
FCF_SYSMENU |
FCF_MINBUTTON |
FCF_SIZEBORDER |
FCF_NOBYTEALIGN ;

/* -- Dan vindue ------------------------------------------------------- */

hwndFrame = WinCreateStdWindow(
HWND_DESKTOP,
0 ,
&ulFlag,
szClass,
szTitel,
WS_MINIMIZED,
0,
100,
(HWND FAR *)hwndClient);

/* -- Sæt vinduet aktivt ----------------------------------------------- */

WinSetActiveWindow( HWND_DESKTOP, hwndFrame );

/* -- Main loop -------------------------------------------------------- */

while(WinGetMsg(hab, (PQMSG)&qmsg, 0, 0, 0))
WinDispatchMsg(hab,(PQMSG)&qmsg);

/* -- Luk vindue ------------------------------------------------------- */

WinDestroyWindow(hwndFrame);
WinDestroyMsgQueue(hMQ);
WinTerminate(hab);
}

void cdecl main()
{
USHORT usRc;
CHAR szBuffer[255];

while( 1==1 ) {
DDE_EKSP( );
for ( usRc = 0; usRc < 10000; usRc++ )
{
strcpy( szBuffer, szBuffer );
}
}
}

*******************************************************************
Auf der Seite des Clients:
********************************************************************

#define INCL_WIN

#include <os2.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>


#define szClass "OX400"
#define szTitel "DDE-Statement til Ekspedition"

/* -- Globale variable --------------------------------------------------- */

PDDESTRUCT pddes;

/* ----------------------------------------------------------------------- */
/* -- Variable ----------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* ---------------------- */
HAB hab; /* Handle - Anchor Block */
HMQ hMQ; /* Handle - Message Queue */
HWND hwndFrame; /* Handle - frame */
HWND hwndClient; /* Handle - client */
/* ----------------------------------------------------------------------- */
/* -- Message-loop for main-vindue --------------------------------------- */
/* ----------------------------------------------------------------------- */
MRESULT EXPENTRY Msgloop(
HWND hwnd ,
USHORT msg ,
MPARAM mp1 ,
MPARAM mp2 )
{
HPS hPS;
RECTL rectl;
int iRc;

/* --------------------------------------------------------------------- */
switch(msg) {

/* -- WM_Create -------------------------------------------------------- */

case WM_CREATE:

WinPostMsg( hwnd, WM_USER, 0L, 0L );

break;

/* -- WM_USER ---------------------------------------------------------- */

case WM_USER:

iRc=WinDdeInitiate( hwnd, "EKSP", "ENGA" );

break;


/* -- WM_DDE_INITIATE -------------------------------------------------- */

case WM_DDE_INITIATE:

iRc = (int)WinDdeRespond( HWNDFROMMP(mp1), hwnd, ((DDEINIT*)mp2)->pszAppName, ((DDEINIT*)mp2)->pszTopic);

/*
This is the solution suggested according to point2 in the report of pmr38043 i.e "Application does the cleanup"
DosFreeMem(mp2);

*/

break;


case WM_DDE_EXECUTE:
pddes = (PDDESTRUCT)mp2;
iRc = DosFreeSeg(PDDESTOSEL(pddes));

return 0;

break;

/* -- WM_PAINT --------------------------------------------------------- */

case WM_PAINT:

hPS = WinBeginPaint(hwnd, 0, 0);

WinQueryWindowRect(hwnd, &rectl);

WinFillRect( hPS, &rectl, CLR_BACKGROUND);

WinEndPaint(hPS);

break;

/* -- Default -------------------------------------------------------- */

/* default:

return(WinDefWindowProc(hwnd, msg, mp1,mp2));

break; */ /* Not required to do this here : pmr38043 */


}
/* This is the solution suggested according to point1 in the report of pmr38043 i.e "Allowing PM to do the cleanup" */
return(WinDefWindowProc(hwnd, msg, mp1,mp2));
}

/* ----------------------------------------------------------------------- */
/* -- Start programmet --------------------------------------------------- */
/* ----------------------------------------------------------------------- */
void main( )
{
QMSG qmsg;
SHORT rc;
LONG ulFlag;

if ( (hab = WinInitialize(0) ) == 0 )
return;

if ( (hMQ = WinCreateMsgQueue(hab, 0)) == 0)
return;

rc = WinRegisterClass(
hab ,
(PCH)szClass ,
(PFNWP)Msgloop ,
CS_CLIPCHILDREN |
CS_SIZEREDRAW ,
0 );

if ( rc == FALSE )
{
WinMessageBox(
HWND_DESKTOP ,
HWND_DESKTOP ,
"Kan ikke registrere Window-Class",
0 ,
0 ,
MB_OK |
MB_ICONEXCLAMATION );

return;
}

ulFlag =
FCF_TITLEBAR |
FCF_SYSMENU |
FCF_MINBUTTON |
FCF_SIZEBORDER |
FCF_NOBYTEALIGN ;

hwndFrame = WinCreateStdWindow(
HWND_DESKTOP,
0 ,
&ulFlag,
szClass,
szTitel,
WS_MINIMIZED,
0,
100,
(HWND FAR *)hwndClient);

/* -- Sæt vinduet aktivt ----------------------------------------------- */

WinSetActiveWindow( HWND_DESKTOP, hwndFrame );

/* -- Main loop -------------------------------------------------------- */
while(WinGetMsg(hab, (PQMSG)&qmsg, 0, 0, 0))
WinDispatchMsg(hab,(PQMSG)&qmsg);

/* -- Luk vindue ------------------------------------------------------- */
WinDestroyWindow(hwndFrame);
WinDestroyMsgQueue(hMQ);
WinTerminate(hab);
}




























( Zeige die Threadübersicht ) [ Version zum Drucken ] ( Zur Startübersicht )

Datum Thema
07.01.2017 *

*

Name: * eMail: Benachrichtigung

Mit * markierte Felder müssen ausgefüllt werden !


php.net OpenIT © 1998-2017 by WebTeam OS2.org