Hollosi Information eXchange /HIX/
HIX CODER 1194
Copyright (C) HIX
2001-06-02
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: dos/winfos file flush.... (mind)  49 sor     (cikkei)
2 Re: Plugin keszites (mind)  8 sor     (cikkei)
3 Re: sybase sql programozok vannak koztetek?? (mind)  12 sor     (cikkei)
4 PIC mikrokontroller (mind)  11 sor     (cikkei)
5 Re: portok + Win32 (mind)  19 sor     (cikkei)
6 Re: Plugin keszites (mind)  146 sor     (cikkei)

+ - Re: dos/winfos file flush.... (mind) VÁLASZ  Feladó: (cikkei)

tisztelt HIX CODER!

HC> Tud arrol valaki valamit, hogy ha egy DOS programot futtatok Win98 alatt,
HC> es az irogat file-ba, es neha flush-ol is (pl. commit), akkor mi tortenik?
HC> Lehet, hogy nem foglalkozik vele?

HC> Ment valahol a programunk, es egy naplo fileban a windows elszallasa utan a
HC> reggel 8-0as volt az utolso bejegyzes. Este 6-kor!

HC> Ha a win tenyleg lesz** a flush-t, akkor eleg nagy a gubanc. Ha meg nem,
HC> akkor mi a fenetol lehet ilyen?
na azt elore le szeretnem szogezni, hogy nem vagyok egy
nagy windoz buherator, soot, azt is kijelentem, hogy meg
eletemben nem csinaltam egyetlen egy NE/PE se egyeb ilyen
es hasonszoru programot!!!!! de.... amit jozan paraszti
esszel latok, az az, hogy....
a win is smartdrv-t hasznal... ez egy nagyon jo... khm...
cache proggy....;)))) (jo, a semminel jobb;) na a lenyeg,
a lenyeg, hogy... egyfelol nem art neha kiruiteni...
azaz flusholtatni... ezt igy tudod megtenni:
mov ax,4a10h
mov bx,1
int 2fh...
persze elotet nem art, ha megnezed, hogy van-e egyaltalan
smartdrv (vagy kompatibilis, pl az ncache2.exe rulz...;))))
na... ha mar tudsz flusholtatni, akkor probald is ki, hogy
megy-e... (csinalsz egy proggyt, ami csainal egy b*szott
nagy filet (cachesize/2;) es aztan bezarja, es flush...
ja, es persze a flush elott es utan mov ax,0e61h;int 10h,
hogy lassad, hogy mennyit var a flushnal... ha var eleget,
es kozben kerreg a vincsi mint az istenveres, akkor win
alatt is muxxik ez a smartdrive fele flush!!!! (bar, ahogy
en nezem, a dosnavi is faszan flusholtat, szoval valahogy
csak lehet, szerintem igy;))))

na de ez nem eleg... ha megnezed a regi jo dos-t, vagy
akar a win-t is, ha letrehozol egy filet, es abba irsz
mondjuk 1 megat, aztan dir, akkor a file merete 0 lesz,
es csak akkor fog valtozni, amikor bezarod a filet...
tehat javaslat, hogy....

kb ugy fel orankent a program zarja be a logfileokat,
aztan flush, es aztan nyissa meg oket ujra...

jobb otletem nincs...

(illetve, az, hogy hasznaljatok stabilabb rendszert;))))

na tovabbi jo kodolast.... Mc
+ - Re: Plugin keszites (mind) VÁLASZ  Feladó: (cikkei)

Peldaul engem is erdekel, en is hasonlo dolgot szeretnek irni
(run time beolvasni a DLL-t a funkciokkal)

szoval ha van valasz, akkor keretik a listara!

-- 
udvozlettel,
 Gergely
+ - Re: sybase sql programozok vannak koztetek?? (mind) VÁLASZ  Feladó: (cikkei)

 wrote:
>
> Udv!

> Delphi+SQL ben irogatok 1 programot, interneten adatbaziskezeles, de a
> netkapcs olat eleg gyenge(a progi hasznalhatatlanna valt), ezert most
> vagy ujra kellene irnom mindent(erre nem ido), vagy valami okosat
> kellene kitalalnom. Lehet valah ogy adatbazistszinkronizalni??? Elore
> is koszi!

replikacio jo? vagy mire gondolsz? pontositanad a problemat?
jenci
+ - PIC mikrokontroller (mind) VÁLASZ  Feladó: (cikkei)

A PIC-ek hazai forgalmazoja a CHIPCAD Kft., a
www.chipcad.hu cimen erdemes kezdeni a keresgelest. Ok nem
csak arulnak, de nagyon sok support-ot is adnak hozza.

PIC levelezo lista is van. Feliratkozni a 
cimre kuldott email-lel lehet. A subject mindegy, az
uzenetbe ird be, hogy

SUBSCRIBE LISTA

Sok sikert... Bela
+ - Re: portok + Win32 (mind) VÁLASZ  Feladó: (cikkei)

> Felado : Szakacs Tamas
 ....
> Win32 nem engedi a portok manipulalasat! C++ Builderben pl. a sugo
> azt mondja, hogy az inportb, inpw, outportb, outpb deprecated
> lett.

Megoldas:
- driver vagy
- komponens, ami port piszkalast enged. Ebbol tobbfajta van,
altalaban az a helyzet, hogy vannak a quick&durty megoldások
ingyért és vannak azok amik fennhangon hirdetik magukrol,
hogy nem korrumpálják az NT védelmi rendszerét (rendszerint
vxd-t hasznalnak). Nem értek hozzá, hogy most ebből mi az
igaz, de probald ki:

http://dsp.mirrors.ebizlab.hit.bme.hu/

Jozsi

+ - Re: Plugin keszites (mind) VÁLASZ  Feladó: (cikkei)

> Felado :  [Hungary]
>  En Borland C++ Builder 3ban dolgozom ...
> ...1 program szamara olyan feluletet kell keszitenem, ami kepes beepulo
> plugineket kezelni. Ezek a pluginek kepesek lennenek ujabb funkciokkal bovite
ni
> a foprogramot...
> ...segitseg a felulet kitalalasahoz, a dll kapcsolodasahoz stb.

Hasznalj DLL-t es exportalt extern "C" fuggvenyeket a DLL-ben.
A forrasban hasznalhatsz CPP-t, de a DLL fuggvenyek kapcsolodasi felulete
legyen "C".

A tobbi itt - bocs a hosszuert (jo lenne a melleklet):

=============PluginBase.h=============
//This is compiler-specific define for DLL export functions.
#ifdef __DLL__
#define EXPORTFUNC extern "C" __declspec(dllexport)
#else
#define EXPORTFUNC extern "C" __declspec(dllimport)
#endif

typedef struct
{
  char Text[MAXNAME+1];
  int  Data;
} PluginMainDataStruct;

//---E X P O R T E D   F U N C T I O N S---
EXPORTFUNC int DoSomething(PluginMainDataStruct* this);
EXPORTFUNC int GetErrorMessage(char* Result);

//---F U N C T I O N   T Y P E S---
typedef int (*FUNCTYP_DoSomething)    (PluginMainDataStruct*this);
typedef int (*FUNCTYP_GetErrorMessage) (char* Result);

===== Plugin1.cpp --> Plugin1.DLL =====
#include "PluginBase.h"
void Startup()
{
   //...
}
void Shutdown()
{
   //...
}
EXPORTFUNC int DoSomething(PluginMainDataStruct* this)
{
   MessageBox(0,this->Text,"msg",MB_OK);
   return 0;
}
EXPORTFUNC int GetErrorMessage(char* Result)
{
   wsprintf(Result, "OK"); return 0;
}
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
   switch( reason ){
   case DLL_PROCESS_ATTACH:  //Initialize once for each new process.
       Startup();
       break;
   case DLL_PROCESS_DETACH:  //Perform any necessary cleanup.
       Shutdown();
       break;
   }

   // TRUE = Successful DLL_PROCESS_ATTACH.
   // FALSE = to fail DLL load.
   return TRUE;
}

====== PluginWrapper.h ======
#include "PluginBase.h"
class PACKAGE PluginWrapper
{
 private:
   HINSTANCE DllInstance; //instance handle of the dynamically loaded DLL.
 public:
   FUNCTYP_DoSomething     DoSomething;
   FUNCTYP_GetErrorMessage GetErrorMessage;

   PluginWrapper() {Reset();}
  ~PluginWrapper(){UnLoad();}

   void Reset()
   {
      DllInstance=0;
      DoSomething=0;
      GetErrorMessage=0;
   }

   void UnLoad()
   {
      if( DllInstance ) FreeLibrary(DllInstance);
      Reset();
   }

   void Load(char* DLLFileName)
   {
      DllInstance = LoadLibrary(DLLFileName);
      if( !DllInstance )
         throw Exception(AnsiString().sprintf("OS could not load library '%s'",
DLLFileName));

      DoSomething     = (FUNCTYP_DoSomething)     GetProcAddress(DllInstance, "
_DoSomething");
      GetErrorMessage = (FUNCTYP_GetErrorMessage) GetProcAddress(DllInstance, "
_GetErrorMessage");

      if( !DoSomething || !GetErrorMessage )
      {
         UnLoad();
         throw Exception(AnsiString().sprintf("Illegal plugin library"));
      }
   }
};
====== PluginUsage.cpp ======
#include "PluginWrapper.h"

PluginWrapper SerialPlugin;
PluginMainDataStruct SerialPluginData =
{
   "Ez egy teszt uzenet",
   1234
};

int main(int argc, char* argv[])
{
   try
   {
      SerialPlugin.Load("c:\\Plugin1.DLL");
      SerialPlugin.DoSomething(&SerialPluginData);
   }
   catch(Exception& e)
   {
      ShowMessage(e->Message);
   }

   //plugin is automatically unloaded when SerialPlugin
   //is destroyed (at program exit)
}

+1x bocs
-- 
Józsi


AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS