Hallo,
ich sitze gerade an folgendem Problem und weiß nicht woran das liegt, dass es nicht geht.
If möchte eine Factory Klasse erstellen und benutze dazu folgendes Interface
Delphi-Quellcode:
[JavaSignature('
com/google/android/exoplayer2/upstream/DataSource')]
JDataSource =
interface(IJavaInstance)
['
{54F0F6B3-3EC8-4327-874D-2FA5BF0074EF}']
end;
TDataSource =
class(TJavaGenericImport<JDataSourceClass, JDataSource>)
end;
{**********************************************}
JDataSource_FactoryClass =
interface(IJavaClass)
['
{F3647398-F5A3-43CE-992C-A8EFCBDD2E64}']
{class} function createDataSource: JDataSource;
cdecl;
end;
{**************************************************************************}
[JavaSignature('
com/google/android/exoplayer2/upstream/DataSource$Factory')]
JDataSource_Factory =
interface(IJavaInstance)
['
{C2E17D43-9101-4D1D-ACDC-B3DD5FC26671}']
function createDataSource: JDataSource;
cdecl;
end;
TJDataSource_Factory =
class(TJavaGenericImport<JDataSource_FactoryClass, JDataSource_Factory>)
end;
mein Code schaut wie folgt aus, nur meckert dann irgendwann das Javaprogramm, dass das createDataSource Interface nicht vorhanden ist.
Delphi-Quellcode:
type
TJUDPDataSource_Factory = class(TJavaLocal, JDataSource_Factory)
function createDataSource: JDataSource; cdecl;
end;
function TJUDPDataSource_Factory.createDataSource: JDataSource; cdecl;
begin
result := TJUdpDataSource.JavaClass.init(nil, 2000, 20000);
end;
Der Aufruf schaut wie folgt aus:
Delphi-Quellcode:
udpSourceFactory := TJUDPDataSource_Factory.Create;
aVideoSource := TjExtractorMediaSource.JavaClass.init(StrToJURI(aDataSource),
udpSourceFactory,
TJDefaultExtractorsFactory.JavaClass.init, nil, nil);
Hat jemand vielleicht eine Idee, woran das liegen könnte?
Und gerade als ich das ganze erneut kompilieren wollte kam folgende Fehlermeldung:
[Exec Fehler] EXEC(1): Default method desugaring of `
com.google.android.exoplayer2.source.BaseMediaSou rce` failed because its super class `java.lang.Object` is missing
Christian