u is er andere probleem :
Het gaat erom newobject.. het crasht door foutmelding.
een foutmelding:
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D393C07 Function=[Unknown.] Library=C:\jdk1.1.7B\jre\bin\client\jvm.dll
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at Bank.openRekening(Native Method)
at BankGUI.<init>(BankGUI.java:112)
at SimpelBank.main(SimpelBank.java:27)
Dynamic libraries:
0x00400000 - 0x00406000 C:\jdk1.1.7B\bin\java.exe
0x77F50000 - 0x77FF7000 C:\WINDOWS\System32\ntdll.dll
0x77E60000 - 0x77F46000 C:\WINDOWS\system32\kernel32.dll
0x77DD0000 - 0x77E5D000 C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78086000 C:\WINDOWS\system32\RPCRT4.dll
0x77C10000 - 0x77C63000 C:\WINDOWS\system32\MSVCRT.dll
0x6D330000 - 0x6D45A000 C:\jdk1.1.7B\jre\bin\client\jvm.dll
0x77D40000 - 0x77DCC000 C:\WINDOWS\system32\USER32.dll
0x77C70000 - 0x77CB0000 C:\WINDOWS\system32\GDI32.dll
0x76B40000 - 0x76B6C000 C:\WINDOWS\System32\WINMM.dll
0x629C0000 - 0x629C8000 C:\WINDOWS\System32\LPK.DLL
0x72FA0000 - 0x72FFA000 C:\WINDOWS\System32\USP10.dll
0x6D1D0000 - 0x6D1D7000 C:\jdk1.1.7B\jre\bin\hpi.dll
0x6D300000 - 0x6D30D000 C:\jdk1.1.7B\jre\bin\verify.dll
0x6D210000 - 0x6D229000 C:\jdk1.1.7B\jre\bin\java.dll
0x6D320000 - 0x6D32D000 C:\jdk1.1.7B\jre\bin\zip.dll
0x6D000000 - 0x6D0FB000 C:\jdk1.1.7B\jre\bin\awt.dll
0x73000000 - 0x73023000 C:\WINDOWS\System32\WINSPOOL.DRV
0x76390000 - 0x763AC000 C:\WINDOWS\System32\IMM32.dll
0x771B0000 - 0x772D1000 C:\WINDOWS\system32\ole32.dll
0x6D180000 - 0x6D1D0000 C:\jdk1.1.7B\jre\bin\fontmanager.dll
0x73760000 - 0x737A4000 C:\WINDOWS\System32\ddraw.dll
0x73BC0000 - 0x73BC6000 C:\WINDOWS\System32\DCIMAN32.dll
0x6D910000 - 0x6D981000 C:\WINDOWS\System32\D3DIM.DLL
0x74720000 - 0x74764000 C:\WINDOWS\System32\MSCTF.dll
0x10000000 - 0x10049000 C:\sysp1\bank\bank.dll
0x76C90000 - 0x76CB2000 C:\WINDOWS\system32\imagehlp.dll
0x6D510000 - 0x6D58D000 C:\WINDOWS\system32\DBGHELP.dll
0x77C00000 - 0x77C07000 C:\WINDOWS\system32\VERSION.dll
0x76BF0000 - 0x76BFB000 C:\WINDOWS\System32\PSAPI.DLL
Local Time = Tue Nov 26 16:44:00 2002
Elapsed Time = 0
#
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002E6
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode) #
Met sterren en opmerking met deze opdracht crasht met foutmelding.
Het gaat erom met CallobjectMethod en Jobject? Waarom crasht hij dan bovenstaande foutmelding? daar heb ik al getraceerd. maar het blijft nog steeds fout.
Waarom is er fout erin?
Het gaat erom newobject.. het crasht door foutmelding.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
| JNIEXPORT jint JNICALL Java_Bank_openRekening
(JNIEnv * env , jobject jobj, jstring naam , jdouble saldo)
{
jclass Lrh = (env)->FindClass("RekeningHouder");
jthrowable exc;
jclass newExcCls;
int nrRek = (int) env->GetIntField(jobj, fid_nrRek);
int Maxrek =(int) env->GetIntField(jobj, fid_MaxRek);
exc = (env)->ExceptionOccurred();
if (exc) {
(env)->ExceptionDescribe();
(env)->ExceptionClear();
newExcCls = (env)->FindClass(
"java/lang/Exception");
if (newExcCls == NULL) {
/* Unable to find the exception class, give up. */
return 0;
}
}
cout << " start maar " << endl;
if (nrRek==Maxrek)
{
(env)->ThrowNew(newExcCls, "Maximaal aantal rekeningen bereikt");
}
cout<< "verder?" << endl;
jclass cls = (env)->GetObjectClass(jobj);
jmethodID mid =
(env)->GetMethodID(cls, "zoekRekHouder", "(Ljava/lang/String;)LRekeningHouder;");
if (mid == NULL) {
cout << "probleem?" << endl;
return 0;
}
cout << "Tja ?" << endl;
jmethodID rhmid=(env)->GetMethodID(Lrh, "<init>", "(Ljava/lang/String;LBankRekening;)V");
if (rhmid == NULL) {
cout << "probleem? rh?" << endl;
return 0;
}
jobject rh = env->NewObject(Lrh,rhmid);
//*************************************
//Deze opdracht crasht door foutmelding
//************************************
rh = (jobject)(env)->CallObjectMethod(jobj,mid,naam);
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ???
if(env->ExceptionOccurred()) {
cout << "error occured copying array back" <<endl;
env->ExceptionDescribe();
env->ExceptionClear();
}
if (rh==NULL)
{
cout << "geen probleem?";
int rekNr = nrRek + 1000;
jclass Lbr = (env)->FindClass("BankRekening");
jmethodID mid1 = (env)->GetMethodID(Lbr,"BankRekening","(ID)V");
jobject rk = (jobject)(env)->CallObjectMethod(jobj,mid1,rekNr,saldo);
jmethodID mid2 = (env)->GetMethodID(Lrh,"RekeningHouder","(Ljava/lang/String;LBankRekening;)V");
jobject rh = (jobject)(env)->CallObjectMethod(jobj,mid2,naam,rk);
jobjectArray result3 =(jobjectArray)(env)->GetObjectField(jobj, fid_RekH);
env->SetObjectArrayElement(result3,rekNr,rh);
nrRek += 1;
return rekNr;
}
cout << "exit" << endl;
return 0;
}
native public int openRekening (String naam, double saldo) throws Exception;
/*{
if (nrRek == maxRek)
throw new Exception ("Maximaal aantal rekeningen bereikt");
RekeningHouder rh = zoekRekHouder (naam);
if (rh == null)
{ int rekNr = nrRek + 1000;
BankRekening br = new BankRekening (rekNr, saldo);
rekHouders[nrRek] = new RekeningHouder (naam, br);
nrRek += 1;
return rekNr;
}
return 0;
}*/
public RekeningHouder zoekRekHouder (String naam)
{
for (int i = 0; i < nrRek; i++)
if (naam.equalsIgnoreCase (rekHouders[i].geefNaam()))
return rekHouders[i];
return null;
} |
een foutmelding:
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D393C07 Function=[Unknown.] Library=C:\jdk1.1.7B\jre\bin\client\jvm.dll
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at Bank.openRekening(Native Method)
at BankGUI.<init>(BankGUI.java:112)
at SimpelBank.main(SimpelBank.java:27)
Dynamic libraries:
0x00400000 - 0x00406000 C:\jdk1.1.7B\bin\java.exe
0x77F50000 - 0x77FF7000 C:\WINDOWS\System32\ntdll.dll
0x77E60000 - 0x77F46000 C:\WINDOWS\system32\kernel32.dll
0x77DD0000 - 0x77E5D000 C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78086000 C:\WINDOWS\system32\RPCRT4.dll
0x77C10000 - 0x77C63000 C:\WINDOWS\system32\MSVCRT.dll
0x6D330000 - 0x6D45A000 C:\jdk1.1.7B\jre\bin\client\jvm.dll
0x77D40000 - 0x77DCC000 C:\WINDOWS\system32\USER32.dll
0x77C70000 - 0x77CB0000 C:\WINDOWS\system32\GDI32.dll
0x76B40000 - 0x76B6C000 C:\WINDOWS\System32\WINMM.dll
0x629C0000 - 0x629C8000 C:\WINDOWS\System32\LPK.DLL
0x72FA0000 - 0x72FFA000 C:\WINDOWS\System32\USP10.dll
0x6D1D0000 - 0x6D1D7000 C:\jdk1.1.7B\jre\bin\hpi.dll
0x6D300000 - 0x6D30D000 C:\jdk1.1.7B\jre\bin\verify.dll
0x6D210000 - 0x6D229000 C:\jdk1.1.7B\jre\bin\java.dll
0x6D320000 - 0x6D32D000 C:\jdk1.1.7B\jre\bin\zip.dll
0x6D000000 - 0x6D0FB000 C:\jdk1.1.7B\jre\bin\awt.dll
0x73000000 - 0x73023000 C:\WINDOWS\System32\WINSPOOL.DRV
0x76390000 - 0x763AC000 C:\WINDOWS\System32\IMM32.dll
0x771B0000 - 0x772D1000 C:\WINDOWS\system32\ole32.dll
0x6D180000 - 0x6D1D0000 C:\jdk1.1.7B\jre\bin\fontmanager.dll
0x73760000 - 0x737A4000 C:\WINDOWS\System32\ddraw.dll
0x73BC0000 - 0x73BC6000 C:\WINDOWS\System32\DCIMAN32.dll
0x6D910000 - 0x6D981000 C:\WINDOWS\System32\D3DIM.DLL
0x74720000 - 0x74764000 C:\WINDOWS\System32\MSCTF.dll
0x10000000 - 0x10049000 C:\sysp1\bank\bank.dll
0x76C90000 - 0x76CB2000 C:\WINDOWS\system32\imagehlp.dll
0x6D510000 - 0x6D58D000 C:\WINDOWS\system32\DBGHELP.dll
0x77C00000 - 0x77C07000 C:\WINDOWS\system32\VERSION.dll
0x76BF0000 - 0x76BFB000 C:\WINDOWS\System32\PSAPI.DLL
Local Time = Tue Nov 26 16:44:00 2002
Elapsed Time = 0
#
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002E6
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode) #
Met sterren en opmerking met deze opdracht crasht met foutmelding.
Het gaat erom met CallobjectMethod en Jobject? Waarom crasht hij dan bovenstaande foutmelding? daar heb ik al getraceerd. maar het blijft nog steeds fout.
Waarom is er fout erin?
[ Voor 7% gewijzigd door comprobot op 26-11-2002 17:52 ]