AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LoadLibrary unter iOS

Ein Thema von Peter666 · begonnen am 7. Apr 2014 · letzter Beitrag vom 7. Apr 2014
Antwort Antwort
Seite 1 von 2  1 2      
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:12
Hi,

ich wollte hier eine dynamische Bibliothek in ein Projekt einbinden. Unter Android geht loadlibrary einwandfrei und die DLL wird auch geladen. Unter iOS will das aber nicht.

Die DLL habe ich im StartUp\Library deployed und lade diese via dll := loadlibrary(PChar(IncludeTrailingPathDelimiter(sys tem.IOUtils.TPath.GetLibraryPath)+'mylib.a');

Ich kann mir nicht vorstellen das Apple das laden von Bibliotheken verbietet, oder?

Peter
PS: Die Datei ist im richtigen Pfad und Fileexists findet diese auch.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:17
Ich kann mir nicht vorstellen das Apple das laden von Bibliotheken verbietet, oder?
Laden kannst Du die Library, aber verboten ist das tatsächlich von Apple, genau wie private Frameworks. So was kriegst Du nicht durch's Review.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:17
Apple verbietet dynamisches Nachladen in iOS. Du musst Bibliotheken statisch in die Anwendung binden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:20
Es wäre besser wenn du durchgängig Delphi-Referenz durchsuchenTPath benutzen würdest.

TPath.Combine( TPath.GetLibraryPath, 'mylib.a' );
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#5

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:23
Hmm, in meinem Fall ist dass die LibAV. Soll das bedeuten ich kann die Bibliothek von FlashAVConverter gar nicht benutzen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:25
Doch, aber du musst statisch linken. (Geht wohl nicht mit der Trial-Version)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:25
Dummerweise will iOS einen ANSIstring. Und was sind Ansistrings unter den Mobilen Compilern? BÖÖÖÖSE. Also muss man es so machen:
Delphi-Quellcode:
dll : Thandle
begin
  dll := dlopen(MarshaledAString('/woauchimmer/wasauchimmer.dylib'), RTLD_LAZY);
end;
Die kannst Du benutzen. Aber wenn Du es im AppStore haben willst, musst du die .a - Variante linken.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#8

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:43
Die Frage klingt blöde, aber wie linke ich die Bibliothek? Ich kann ja kaum ein {$L Deploy\libav.a} machen, oder?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:45
Nein. Diese muss in die Exe. (In das Projekt aufnehmen)
Markus Kinzler
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:50
Du musst mindestens eine Funktion aus der Bibliothek hart referenzieren, ähnlich wie man es unter Windows kennt mit Funktionen, die als "external" deklariert sind.
Wie man das macht, habe ich mal in meinem Blog beschrieben: https://www.danielwolf.eu/blog/2013/...en-a-libraries. Wenn Du ein zweites Beispiel suchst, fiele mir auf die Schnelle das Barcode-Beispiel von Bruno Fierens (TMS) ein, dort hat er auch eine Bibliothek statisch integriert: http://www.tmssoftware.com/site/blog.asp?post=280. In den Sourcen seiner (freien) Komponente findest Du ein weiteres Beispiel.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr.
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