Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbank Anwendung weitergeben. (https://www.delphipraxis.net/190418-datenbank-anwendung-weitergeben.html)

stathis 1. Okt 2016 21:12

Datenbank: mysql • Version: - • Zugriff über: -

Datenbank Anwendung weitergeben.
 
Hallo,
Ich habe ein anwendung programmiert, die auf ein mysql webserver zugreift und auf mein PC (Windows 10. auf dieses pc habe die anwendung mit delphi xe8 programmiert)
laueft ohne Probleme.
Wenn diese anwendung in meine Pc in Buero (windows xp) weitergebe bekomme das fehler
access violation an adress 00000000
das pasiert auch auf andere pcs mit windows 10

Diese fehler ersheint wenn auf mysql serve zugreife sonst die Anwendung laueft einwantfrei.

Ich habe libmysql.dll und dbxmys.dll in ziel PC in szstem32 ordner kopiert, soll ich noch andere files kopieren?

entschuldingen sie mir fuer meine Deutsche sprache :(


ich danke Ihnen

jaenicke 1. Okt 2016 23:09

AW: Datenbank Anwendung weitergeben.
 
Ohne Quelltext oder mehr Details lässt sich dazu nur sagen, dass irgendein Objekt nicht initialisiert sein wird.

Du kannst MadExcept oder Eurekalog einbinden. Die sollten dir die Fehlerstelle genauer zeigen.

stathis 1. Okt 2016 23:45

AW: Datenbank Anwendung weitergeben.
 
hallo
ich dankex fuer Antwort

mit dem Eurekalog
bekomme das:

EurekaLog 7.5.0.0

Exception:
---------------------------------------------------------------------------------------------------------
2.2 Address: 00000000
2.5 Type : EAccessViolation
2.6 Message: Access violation at address 00000000 in module 'melikriton.exe'. Read of address 00000000.
2.7 ID : FBF30000
2.11 Sent : 0

User:
-----------------
3.2 Name : user
3.3 Email:

Steps to reproduce:
------------
8.1 Text:


EurekaLog 7.5.0.0

Exception:
---------------------------------------------------------------------------------------------------------
2.2 Address: 00000000
2.5 Type : EAccessViolation
2.6 Message: Access violation at address 00000000 in module 'melikriton.exe'. Read of address 00000000.
2.7 ID : FBF30000
2.11 Sent : 0

User:
-----------------
3.2 Name : user
3.3 Email:

Steps to reproduce:
------------
8.1 Text:


Call Stack Information:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
|Methods |Details|Stack |Address |Module |Offset |Unit |Class |Procedure/Method |Line |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
|Running Thread: ID=3864; Parent=0; Priority=0 |
|Class=; Name=MAIN |
|DeadLock=0; Wait Chain=Δεν ήταν δυνατό να εντοπιστεί η καθορισμένη διαδικασία |
|Comment= |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|00000020|04 |0012F7C8|007A6E37|melikriton.exe|003A6E37|Data.DB XDynalink |TDBXDynalinkDriverCommonLoader|LoadDriverLibraryA ndMethodTable |865[16] |
|00000020|04 |0012FC84|0040A096|melikriton.exe|0000A096|System | |_HandleFinally |19690[58] |
|00000020|04 |0012FCA8|007A199A|melikriton.exe|003A199A|Data.DB XDynalinkNative|TDBXNativeMethodTable |LoadMethods |131[9] |
|00000020|04 |0012FCB0|007A6E11|melikriton.exe|003A6E11|Data.DB XDynalink |TDBXDynalinkDriverCommonLoader|LoadDriverLibraryA ndMethodTable |861[12] |
|00000020|04 |0012FCF4|007A6B13|melikriton.exe|003A6B13|Data.DB XDynalink |TDBXDynalinkDriver |LoadDriver |769[5] |
|00000020|04 |0012FD18|007A1858|melikriton.exe|003A1858|Data.DB XDynalinkNative|TDBXDynalinkDriverNative |CreateConnection |87[1] |
|00000020|04 |0012FD28|00766629|melikriton.exe|00366629|Data.DB XCommon |TDBXDelegateDriver |CreateConnection |11218[0] |
|00000020|04 |0012FD2C|0076C67C|melikriton.exe|0036C67C|Data.DB XCommon |TDBXConnectionBuilder |CreateConnection |14806[18] |
|00000020|04 |0012FD80|0075D0AB|melikriton.exe|0035D0AB|Data.DB XCommon |TDBXConnectionFactory |GetConnection |6743[12] |
|00000020|04 |0012FDC8|0075CFC1|melikriton.exe|0035CFC1|Data.DB XCommon |TDBXConnectionFactory |GetConnection |6722[0] |
|00000020|04 |0012FDCC|00877A41|melikriton.exe|00477A41|Data.Sq lExpr |TSQLConnection |DoConnect |2510[56] |
|00000020|04 |0012FE54|007D28A9|melikriton.exe|003D28A9|Data.DB |TCustomConnection |SetConnected |3569[8] |
|00000020|04 |0012FE60|007D2864|melikriton.exe|003D2864|Data.DB |TCustomConnection |Open |3552[0] |
|00000020|04 |0012FE64|008770EF|melikriton.exe|004770EF|Data.Sq lExpr |TSQLConnection |CheckConnection |2323[4] |
|00000020|04 |0012FE70|0087B33F|melikriton.exe|0047B33F|Data.Sq lExpr |TCustomSQLDataSet |CheckConnection |3975[2] |
|00000020|04 |0012FE88|0087B74C|melikriton.exe|0047B74C|Data.Sq lExpr |TCustomSQLDataSet |OpenCursor |4064[3] |
|00000020|04 |0012FEA4|007E5FC5|melikriton.exe|003E5FC5|Data.DB |TDataSet |SetActive |12424[12] |
|00000020|04 |0012FEC0|007E5E01|melikriton.exe|003E5E01|Data.DB |TDataSet |Open |12380[1] |
|00000020|04 |0012FEC8|00899A87|melikriton.exe|00499A87|Unit4 |TForm4 |FormCreate |161[5] |
|00000020|04 |0012FEE8|006D44AD|melikriton.exe|002D44AD|Vcl.For ms |TCustomForm |DoCreate |3746[3] |
|00000020|04 |0012FF0C|006D40B1|melikriton.exe|002D40B1|Vcl.For ms |TCustomForm |AfterConstruction |3629[1] |
|00000020|04 |0012FF18|0040935D|melikriton.exe|0000935D|System | |_AfterConstruction |17339[2] |
|00000020|04 |0012FF20|0040936D|melikriton.exe|0000936D|System | |_AfterConstruction |17340[3] |
|00000020|04 |0012FF3C|006D4063|melikriton.exe|002D4063|Vcl.For ms |TCustomForm |Create |3619[35] |
|00000020|04 |0012FF74|006DEE46|melikriton.exe|002DEE46|Vcl.For ms |TApplication |CreateForm |10471[13] |
|00000020|04 |0012FFAC|008A6764|melikriton.exe|004A6764|melikri ton | |Initialization |29[6] |
|00000020|03 |0012FFC4|7C817064|kernel32.dll |00017064|kernel32 | | (possible RegisterWaitForInputIdle+70)| |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

Modules Information:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|Handle |Name |Description |Version |Size |Modified |Path |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|00400000|melikriton.exe| |1.0.0.0 |22628820|2016-10-02 01:30:27|D:\melikriton karta\Win32\Debug\ |
|
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Processes Information:
----------------------


Assembler Information:
--------------------------------------------------------------------
; Base Address: $0, Allocation Base: $0, Region Size: 65536
; Allocation Protect: N/A, Protect: PAGE_NOACCESS
; State: MEM_FREE, Type: N/A
;
00000000 ?? ; unaccessible location ; <-- EXCEPTION

Registers:
-----------------------------
EAX: 00000000 EDI: 0012FCB4
EBX: 0210DAC8 ESI: 00000000
ECX: 00000000 EBP: 0012FCF0
EDX: 020FFC28 ESP: 0012F7C8
EIP: 00000000 FLG: 00210297
EXP: 00000000 STK: 0012F7C8

Stack: Memory Dump:
------------------ ---------------------------------------------------------------------------

Neumann 2. Okt 2016 10:41

AW: Datenbank Anwendung weitergeben.
 
Verbindet sich deine Anwendung direkt mit Mysql? Sieht so aus. Kann sein das MySql nur Verbindungen von bestimmten Adressen zulässt. Würde ich mal prüfen.

Direkte Verbindungen sind aber auch sonst problematisch, besser ist da eine über z.B http.

Gibt hier und woanders einige Infos dazu, deshalb keine weiteren Details

stathis 2. Okt 2016 11:25

AW: Datenbank Anwendung weitergeben.
 
Ja mein Anwendung verbindet direct mit mysql.
Die Anwendung läuft von mein Laptop einwandfrei (in diesem laptop habe ich die Programmiert), egal in welchem netz verbindet ist.

Also ich glaube wenn ich in Buro-Pc delphi xe8 installiere und da das programm compile wird dann auch da einwandfrei laufen. Aber das ist kein loesung

ich danke
Stathis

Neumann 2. Okt 2016 11:35

AW: Datenbank Anwendung weitergeben.
 
Hat glaube ich nichts damit zu tun wo man das Programm compiliert. Aber es auf dem Rechner zu debuggen wo es nicht läuft könnte helfen das Problem zu finden.

jaenicke 2. Okt 2016 11:38

AW: Datenbank Anwendung weitergeben.
 
Da der letzte Eintrag im Stacktrace LoadDriverLibraryA ndMethodTable ist, sieht es für mich so aus als ob da eine DLL fehlt oder es eine falsche Version ist.

Hast du mal im Quelltext der genannten Unit geschaut was an der Stelle passiert?

stathis 2. Okt 2016 12:11

AW: Datenbank Anwendung weitergeben.
 
ja ich meine auch das ein dll fehlt aber welche?
Ich habe libmysql.dll und dbxmys.dll in ziel PC in system32 ordner kopiert
was noch soll ich kopieren?


Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DBXMySQL, Data.FMTBcd, Data.DB,
  Data.SqlExpr, Vcl.StdCtrls, Vcl.Buttons, Vcl.Grids, Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    SQLConnection1: TSQLConnection;
    SQLQuery1: TSQLQuery;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 i,ncol,z: integer;
 uid : string;
begin
   for nCol := 0 to stringgrid1.ColCount - 1 do
  begin
    stringgrid1.Cols[nCol].Clear;
  end;
    stringgrid1.Cells[0,0] := 'ID';
  stringgrid1.Cells[1,0] := 'UID &#922;&#940;&#961;&#964;&#945;&#962;';
  stringgrid1.Cells[2,0] := '&#928;&#972;&#957;&#964;&#959;&#953;';
  stringgrid1.Cells[3,0] := '&#928;&#972;&#957;&#964;&#959;&#953; &#931;&#973;&#957;&#959;&#955;&#959;';
  stringgrid1.Cells[4,0] := '&#919;&#956;&#949;&#961;&#959;&#956;&#951;&#957;&#943;&#945;';
  stringgrid1.Cells[5,0] := '&#911;&#961;&#945;';

sqlquery1.sql.Clear;

 SQLquery1.SQL.add ('Select id,UID,points,TotalPoints,date,time from karta');
   sqlquery1.open;
  SQLquery1.First;
 i:=0;
  while not SQLquery1.EOf do begin
    i:=i+1;
    stringgrid1.RowCount := i+2;
    stringgrid1.Cells[0,i] := inttostr(SQLquery1.Fieldbyname('id').asinteger);
    stringgrid1.Cells[1,i] := SQLquery1.Fieldbyname('UID').asString;
    stringgrid1.Cells[2,i] := inttostr(SQLquery1.Fieldbyname('points').asinteger);
    stringgrid1.Cells[3,i] := inttostr(SQLquery1.Fieldbyname('TotalPoints').asinteger);
    stringgrid1.Cells[4,i] := SQLquery1.Fieldbyname('date').asString;
    stringgrid1.Cells[5,i] := SQLquery1.Fieldbyname('time').asString;
       SQLquery1.Next;
  end;

  sqlquery1.sql.Clear;
end;

end.
----------SQL CONNECTION PARAMS -----------------
DriverUnit=Data.DBXMySQL
DriverPackageLoader=TDBXDynalinkDriverLoader,DbxCo mmonDriver160.bpl
DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriv erLoader,Borland.Data.DbxCommonDriver,Version=16.0 .0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b 1b
MetaDataPackageLoader=TDBXMySqlMetaDataCommandFact ory,DbxMySQLDriver160.bpl
MetaDataAssemblyLoader=Borland.Data.TDBXMySqlMetaD ataCommandFactory,Borland.Data.DbxMySQLDriver,Vers ion=16.0.0.0,Culture=neutral,PublicKeyToken=91d62e bb5b0d1b1b
GetDriverFunc=getSQLDriverMYSQL
LibraryName=dbxmys.dll
LibraryNameOsx=libsqlmys.dylib
VendorLib=LIBMYSQL.dll
VendorLibWin64=libmysql.dll
VendorLibOsx=libmysqlclient.dylib
HostName=**************
User_Name=*********
Password=***********
MaxBlobSize=-1
LocaleCode=0000
Compressed=False
Encrypted=False
BlobSize=-1
ErrorResourceFile=
Database=*************
ServerCharSet=utf8

RWarnecke 2. Okt 2016 12:14

AW: Datenbank Anwendung weitergeben.
 
Zitat:

|00000020|04 |0012FEC8|00899A87|melikriton.exe|00499A87|Unit4 |TForm4 |FormCreate |161[5] |
Die Zeile aus deinem Eurekalog ist der Auslöser für Deine Access Violation. Was wird hier im FormCreate gemacht in der Unit4 ?

Edit:
Bitte den Quelltext mit einfassen. Damit lässt sich Quelltext leichter lesen für uns, da er entsprechend formatiert wird.

TBx 2. Okt 2016 12:16

AW: Datenbank Anwendung weitergeben.
 
Handelt es sich bei dem Rechner im Büro um eine 64 Bit maschine?
Dann gehören die DLLs nämlich ins SysWOW64-Verzeichnis.
Oder Du legst die Dlls in Dein Anwendungsverzeichnis.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz