01. august 2002 - 23:15Der er
6 kommentarer og 1 løsning
Chat Program om til ActiveX Control
Jeg har lavet en chat i Builder 5 C++. Den skal virke på en hjemmeside, hvor en bruger skal eksekvere programmet fra. Jeg vil gerne have det lavet om som et ActiveX Control.
Grunden til det er, at hvis jeg bare lagde det op på hjemmesiden som alm. link ville en bruger kunne downloade Programmet. Det er jeg ikke interesseret i. Programmet skal kunne kunne eksekveres fra Hjemmesiden.
En anden lille ting. Er at der skal bruges nogle DLL filer før at en bruger kan bruge porgrammet. Dem har jeg selvfølgelig. Men det skal være så nemt for en bruger at kunne køre chatten uden at skulle installere DLL filer på sin Comp.
Under 'Project->Options' og 'Packages' fanen, kan du ved at fjerne afkrydsningen i 'Build with runtine packages', samt under fanen 'Linker' og fjerne krydset i 'Use Dynamic RTL' få alle anvendte DLL'er til at blive linket med ind i dit endelige program.
Når du "starter" dit project, skal du via 'File->New ...' og 'ActiveX' fanen vælge en ActiveX component der svarer til det du vil lave - f.eks. 'ActiveX form'. Herefter laver du det samme som i et alm. program - du kan sikkert slippe afsted med direkte at bruge de units du allerede har lavet, hvis du har "delt" din kode rigtigt.
Ok. så virker programmet uden Dll filer, da de er implmenteret, Men jeg skal også bruge en HTML el. JAVA kodning til at åbne en fil. Programmet skulle jo meget gerne kunne køres fra hjemmesiden. Men ikke kunne downloades.
ActiveX kontroller kan vist kun læse/skrive filer på brugerens PC'er, hvis han eksplicit tillader det. Derimod kan du godt lave cookies, men det ved jeg ikke hvordan man gør. Kan du ikke gemme det du lægger i filen i selve ActioveX controllen ?
Cookies kan du lave vha. JavaScript i HTML-siden sådan her:
<script language='JavaScript'> function getCookieVal(offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function GetCookie(name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function SetCookie(name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } </script>
Tak for hjælpen med DLL filerne, men det ville være nemmere at bare eksekvere Programmet fra hjemmesiden, istedet at lavet det hele om til en ActiveX Control. Jeg har for søgt, men kan ikke rigtig finde ud af problemet.
nå endnu en oprydning som jeg ikke har lavet ... flovt...
her er dine points
Synes godt om
Ny brugerNybegynder
Din løsning...
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.