Accueil > Forum > > > > C# interop dll C, comment charger une structure
C# interop dll C, comment charger une structure
vendredi 18 mai 2007 à 17:58:02 |
C# interop dll C, comment charger une structure

dirthangel
|
Salut a tous je developpe actuellement un programme C# utilisant SQLite, j'ai téléchargé un wrapper pour la version 1.5 , que j'ai modifié pour utiliser la version 3.x :), mais voila j'ai un soucie pour ouvrir une base SQLite 3.x il faut fournir un handler de db de type sqlite3 ce type etant une structure définit comme suit (j'ai ajouté le extern) : extern typedef struct sqlite3 sqlite3;
dans la doc d'sqlite l'exemple en C montre sqlite3 *db; // on défnit un objet de type sqlite sqlite3_open("nomdb", &db);
ma question est donc simple comment faire cela en C# ? j'utilise DLLimport pour les fonctions mas je sais pas comment faire pour une structure
|
|
vendredi 18 mai 2007 à 18:26:20 |
Re : C# interop dll C, comment charger une structure

dirthangel
|
voic la structure C
struct sqlite3 { int nDb; /* Number of backends currently in use */ Db *aDb; /* All backends */ int flags; /* Miscellanous flags. See below */ int errCode; /* Most recent error code (SQLITE_*) */ int errMask; /* & result codes with this before returning */ u8 autoCommit; /* The auto-commit flag. */ u8 temp_store; /* 1: file 2: memory 0: default */ int nTable; /* Number of tables in the database */ CollSeq *pDfltColl; /* The default collating sequence (BINARY) */ i64 lastRowid; /* ROWID of most recent insert (see above) */ i64 priorNewRowid; /* Last randomly generated ROWID */ int magic; /* Magic number for detect library misuse */ int nChange; /* Value returned by sqlite3_changes() */ int nTotalChange; /* Value returned by sqlite3_total_changes() */ struct sqlite3InitInfo { /* Information used during initialization */ int iDb; /* When back is being initialized */ int newTnum; /* Rootpage of table being initialized */ u8 busy; /* TRUE if currently initializing */ } init; int nExtension; /* Number of loaded extensions */ void **aExtension; /* Array of shared libraray handles */ struct Vdbe *pVdbe; /* List of active virtual machines */ int activeVdbeCnt; /* Number of vdbes currently executing */ void (*xTrace)(void*,const char*); /* Trace function */ void *pTraceArg; /* Argument to the trace function */ void (*xProfile)(void*,const char*,u64); /* Profiling function */ void *pProfileArg; /* Argument to profile function */ void *pCommitArg; /* Argument to xCommitCallback() */ int (*xCommitCallback)(void*); /* Invoked at every commit. */ void *pRollbackArg; /* Argument to xRollbackCallback() */ void (*xRollbackCallback)(void*); /* Invoked at every commit. */ void *pUpdateArg; void (*xUpdateCallback)(void*,int, const char*,const char*,sqlite_int64); void(*xCollNeeded)(void*,sqlite3*,int eTextRep,const char*); void(*xCollNeeded16)(void*,sqlite3*,int eTextRep,const void*); void *pCollNeededArg; sqlite3_value *pErr; /* Most recent error message */ char *zErrMsg; /* Most recent error message (UTF-8 encoded) */ char *zErrMsg16; /* Most recent error message (UTF-16 encoded) */ union { int isInterrupted; /* True if sqlite3_interrupt has been called */ double notUsed1; /* Spacer */ } u1; #ifndef SQLITE_OMIT_AUTHORIZATION int (*xAuth)(void*,int,const char*,const char*,const char*,const char*); /* Access authorization function */ void *pAuthArg; /* 1st argument to the access auth function */ #endif #ifndef SQLITE_OMIT_PROGRESS_CALLBACK int (*xProgress)(void *); /* The progress callback */ void *pProgressArg; /* Argument to the progress callback */ int nProgressOps; /* Number of opcodes for progress callback */ #endif #ifndef SQLITE_OMIT_VIRTUALTABLE Hash aModule; /* populated by sqlite3_create_module() */ Table *pVTab; /* vtab with active Connect/Create method */ sqlite3_vtab **aVTrans; /* Virtual tables with open transactions */ int nVTrans; /* Allocated size of aVTrans */ #endif Hash aFunc; /* All functions that can be in SQL exprs */ Hash aCollSeq; /* All collating sequences */ BusyHandler busyHandler; /* Busy callback */ int busyTimeout; /* Busy handler timeout, in msec */ Db aDbStatic[2]; /* Static space for the 2 default backends */ #ifdef SQLITE_SSE sqlite3_stmt *pFetch; /* Used by SSE to fetch stored statements */ #endif u8 dfltLockMode; /* Default locking-mode for attached dbs */ };
|
|
samedi 19 mai 2007 à 00:32:44 |
Re : C# interop dll C, comment charger une structure
|
samedi 19 mai 2007 à 09:22:08 |
Re : C# interop dll C, comment charger une structure

coq
|
Ha ben vla que même Lutinore fait dans l'économie de CRLF  /* coq MVP Visual C# CoqBlog*/
|
|
dimanche 20 mai 2007 à 16:09:22 |
Re : C# interop dll C, comment charger une structure

tomlev
|
Salut, Si tu veux mon avis, tu te compliques la vie pour rien... il existe des wrappers .NET beaucoup plus simple pour SQLite. Personnellement j'utilise celui ci : [ Lien ]En plus il respecte le modèle ADO.NET 2.0 ! Ah, SQLite... le meilleur SGBD du monde, Oracle fait pâle figure à côté ;-) Tom
|
|
Cette discussion est classée dans : type, db, structure, sqlite, sqlite3
Répondre à ce message
Sujets en rapport avec ce message
Reflection, structure et type de base [ par bigflo93 ]
Salut à tous :) Voilà, dans mon programme j'utilise la réflection. J'ai besoin de différencier les "ValueType" et type réference... Seulement voilà,
renvoi de structure dans une dll c++ [ par cassiopee ]
D'abord bonjour a tous.Ensuite... j'ai un probleme (eh oui c'est pour ca que j'écris ce message)Voila je dois ecrire un programme en C#.NET qui utilis
Comment convertir un objet control [ par FrakTaLiTe ]
Salut à tous,Ma question me parait toute bete et pourtant je ne trouve pas.J'ai un objet de type control et je souhaite le convertir en un objet de ty
Typage d'un Objet [ par Bubuss ]
Salut tout le monde, je bloque sur un truc tout bête mais pour lequel je ne trouve pas d'information dans l'immedia...(et il est vrai que je n'ai pas
Lire flux XML [ par Pierrick34090 ]
Salut,Voilà mon problème: (Langage C#) Je désire enregistrer un flux XML (du type blabla) dans ma base de données SQL Server. Ceci est très facile en
Obtenir le Content-Type abrégé d'un fichier [ par karnalta ]
Bonjour à tous,Cela fait maintenant quelques heures que je parcours le net à la recherche d'un information qui reste introuvable..Je voudrais pour un
Tableau dans une structure [ par kiboumz ]
Bonjour,J'aimerais savoir comment faire pour mettre un tableau dans une structureEx: struct structTest { public String[] Cham
probleme de conversion byte[] en string [ par qaiden ]
Bonjour,le probleme est le suivant:Je dois envoyer des donnees venant d une base de donne sur le reseau, j ai decider d envoyer la taille maximale a c
Mettre une colonne de type booléen dans un dataset [ par francesdereve ]
Le probleme c'est que je ne peux pas les recuperer dans la dataset c'est dans l'ultragrid que je dois les recupere on m'a proposé cette solution mais
Cloner un Objet sans utiliser son Type... [ par Bubuss ]
Salut à tous, j'ai un objet et je cherche à faire une copie par valeur de ce dernier (le cloner)Comment puis-je faire étant donné que la classe object
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|