Featured post

c# - Usage of Server Side Controls in MVC Frame work -

i using asp.net 4.0 , mvc 2.0 web application. project requiremrnt have use server side control in application not possibl in noraml case. ideally want use adrotator control , datalist control. i saw few samples , references in codepleax mvc controllib howwver found less useful. can tell how utilize theese controls in asp.net application along mvc. note: please provide functionalities related adrotator , datalist controls not equivalent functionalities thanks in advace. mvc pages not use normal .net solution makes use of normal .net components impossible. a normal .net page use event driven solution call different methods service side mvc use actions , view completly different way handle things. also, mvc not use viewstate normal .net controlls require. found article discussing mixing of normal .net , mvc.

Delphi 2007 DBX Access Violation in dbxmys30.dll -


i'm trying use dbexpress components in delphi 2007 connect mysql database getting error reads "access violation @ address 0b86e258 in module 'dbxmys30.dll'. read of address 00000000".

i have tsqlconnection using mysql drivers , setup connect mysql 5.1 database. can set active without problem.

the problem arises when try data database using number of components. more specific, have tsqltable object. set sqlconnection parameter tsqlconnection created , set table name table in database. when try set active true error. happens in design mode @ runtime. happen other dbx component try data database.

i'm running windows 7 64 bit mysql 5.1 client , server. can run queries on database using mysql query browser without issues.

any appreciated. thanks!

you have version incompatibility, version of 'libmysql.dll' you're using incompatible version dbx driver built against. this thread on embarcadero forums suggests use version '5.0.27' , this thread suggests '5.0.24'. latest version had success '5.1.11'.

btw, because 'libmysql.dll' contains no version info, fed keeping track of dll version , had wrote little thing:

type   tform1 = class(tform)     procedure formcreate(sender: tobject);     procedure formpaint(sender: tobject);     procedure formdestroy(sender: tobject);   private     flastfile: string;     procedure wmdropfiles(var msg: twmdropfiles); message wm_dropfiles;   public     { public declarations }   end;  var   form1: tform1;  implementation  uses   shellapi;  {$r *.dfm}  procedure tform1.formcreate(sender: tobject); begin   dragacceptfiles(handle, true);   width := 350;   height := 110; end;  procedure tform1.formdestroy(sender: tobject); begin   dragacceptfiles(handle, false); end;  procedure tform1.formpaint(sender: tobject); var   r: trect; begin   canvas.textout(40, 16, 'drop libmysql.dll find out version');   r := rect(14, 40, clientwidth, clientheight);   drawtext(canvas.handle, pchar(flastfile), length(flastfile), r, dt_left); end;  function getversion(clientdll: pchar): uint; const   func          = 'mysql_get_client_version';   functionnotfound = '%s: ''%s'' in ''%s''.';   unabletoloadlib  = 'unable load library (''%s''): ''%s''.'; var   libhandle: hmodule;   getclientversionfunc: function: integer; begin   result := 0;   libhandle := loadlibrary(clientdll);   if libhandle <> 0 begin     try       @getclientversionfunc := getprocaddress(libhandle, func);       if @getclientversionfunc <> nil begin         result := getclientversionfunc;       end else         raise eoserror.createfmt(functionnotfound,             [syserrormessage(getlasterror), func, clientdll]);           freelibrary(libhandle);     end;   end else     raise eoserror.createfmt(unabletoloadlib, [clientdll,         syserrormessage(getlasterror)]); end;  procedure tform1.wmdropfiles(var msg: twmdropfiles); var   len: integer;   dropname: string;   ver: uint; begin   len := dragqueryfile(msg.drop, 0, nil, 0) + 1;   setlength(dropname, len);   len := dragqueryfile(msg.drop, 0, pchar(dropname), len);   setlength(dropname, len);   try     try       ver := getversion(pchar(dropname));     except       flastfile := '';       raise;     end;     if boolean(ver)       flastfile := dropname + #10 +'[' + inttostr(ver) + ']  -  ' +           inttostr(ver div 10000) + '.' + inttostr((ver div 100) mod 100)           + '.' + inttostr(ver mod 100)     else       flastfile := '';       invalidate;     dragfinish(msg.drop);     msg.result := 0;   end; end; 

Comments

Popular posts from this blog

c# - Usage of Server Side Controls in MVC Frame work -

cocoa - Nesting arrays into NSDictionary object (Objective-C) -

ios - Very simple iPhone App crashes on UILabel settext -