Firemonkey Frame Fehler (Android)
Guten Tag Delphianer,
in meiner Android App habe ich ein Frame hinzugefügt.Als ich das Programm unter Win32 compelliert habe lief alles wunderbar. Jetzt habe ich das Programm unter Android compelliert und es gab 1044 Fehler. Es gab auch keine konkrete Fehlermeldung, an der ich mich orientieren könnte.
Delphi-Quellcode:
Dies ist mein Quelltext von meinem Frame.
unit Unit1;
interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, FMX.Edit; type TFrameTicket = class(TFrame) SpinBox1: TSpinBox; lblName: TLabel; lblCategory: TLabel; lblPreis: TLabel; private FAnzahl: integer; FID: integer; FName: string; FCategory: string; FPreis: Currency; procedure SetName(const Value: string); procedure SetPreis(const Value: Currency); procedure SetCategory(const Value: string); function GetAnzahl: integer; function getGesamtpreis: Currency; { Private-Deklarationen } public { Public-Deklarationen } property TicketName : string read FName write SetName; property Preis : Currency read FPreis write SetPreis; property Category : string read FCategory write SetCategory; property ID : integer read FID write FID; property Anzahl : integer read GetAnzahl; property Gesamtpreis : Currency read getGesamtpreis; end; implementation {$R *.fmx} { TFrame1 } function TFrameTicket.GetAnzahl: integer; begin result := trunc(SpinBox1.Value); end; function TFrameTicket.getGesamtpreis: Currency; var gesamtpreis: currency; begin result := Preis * Anzahl; gesamtpreis := gesamtpreis + result; end; procedure TFrameTicket.SetCategory(const Value: string); begin FCategory := Value; lblCategory.Text := FCategory; end; procedure TFrameTicket.SetName(const Value: string); begin FName := Value; lblName.Text := FName; end; procedure TFrameTicket.SetPreis(const Value: Currency); begin FPreis := Value; lblPreis.Text := Format('%1.2f', [FPreis]); end; end. Falls ihr weitere Informationen braucht schicke ich diese mit. Vielen Dank im Voraus für eure Hilfe. Mit freundlichen Grüßen |
AW: Firemonkey Frame Fehler (Android)
Und was für 1044 Fehler hast Du bekommen? Und in welchen Zeilen?
|
AW: Firemonkey Frame Fehler (Android)
Die Fehleranzahl liegt bei 1044.Die einzige Fehlermeldung ist:
Delphi-Quellcode:
und (Pfad)cannot find -dll
[DCC Fataler Fehler] F2588 Linker-Fehlercode: 1 ($00000001)
|
AW: Firemonkey Frame Fehler (Android)
Hat jemand eine Idee was an dem quellcode falsch ist?
Delphi-Quellcode:
Dies ist mein Programmcode aus meiner Hauptunit. Vielleicht hilft diese weiter
for u := 0 to XMLbezahlen.DocumentElement.ChildNodes.Count - 1 do begin
bnode := XMLbezahlen.DocumentElement.ChildNodes.Get(u); cdsBezahlen.Append; cdsBezahlen.FieldByName('Position').asInteger := u; cdsBezahlen.FieldByName('ID').AsString := bnode.ChildNodes.FindNode('ID').Text; cdsBezahlen.FieldByName('Name').AsString := bnode.ChildNodes.FindNode('Name').Text; cdsBezahlen.FieldByName('Kosten').AsString := bnode.ChildNodes.FindNode('Price').Text; cdsBezahlen.FieldByName('Sitzrheie').AsString := bnode.ChildNodes.FindNode('SeatingCategory').Text; cdsBezahlen.Post; myFrame := TFrameTicket.Create(self); myFrame.Name :=Format( 'fr%s',[InttoStr(u)]); myFrame.Parent := TabItem5; myFrame.SetBounds(10, y, 237, 40); myFrame.Visible := true; y := y + 50; myFrame.TicketName := cdsBezahlen.FieldByName('Name').AsString ; myFrame.Category := cdsBezahlen.FieldByName('Sitzrheie').AsString ; myFrame.Preis := cdsBezahlen.FieldByName('Kosten').AsCurrency end; |
AW: Firemonkey Frame Fehler (Android)
Kommt ein Fehler? Was soll er machen? Was macht?
|
AW: Firemonkey Frame Fehler (Android)
Zitat:
Danke für die schnelle Antwort Mit freundlichen Grüßen |
AW: Firemonkey Frame Fehler (Android)
Nicht in dieser Unit.
Schau Dir mal die Uses im der Hauptunit an bzw. die Projektdatei |
AW: Firemonkey Frame Fehler (Android)
Hier sind die Uses von meiner Hauptunit:
Delphi-Quellcode:
und meine privates
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Actions, FMX.ActnList, FMX.TabControl, FMX.StdCtrls, FMX.Layouts, FMX.Memo, Xml.xmldom, Xml.XMLIntf, Xml.XMLDoc, IdBaseComponent, IdComponent, StrUtils, IdTCPConnection, IdTCPClient, IdHTTP, FMX.Objects, FMX.Ani, System.Rtti, FMX.Grid, Data.DB, Datasnap.DBClient, FMX.Edit, Unit1;
Delphi-Quellcode:
Hilft dies Weiter?
private
A: array of TValue; // FItem : TItem; XMLregestrierung : IXMLDocument; XMLbezahlen : IXMLDocument; XMLDocument1 : IXMLDocument; XMLlogin : IXMLDocument; ImageList : TStringList; ShowID : int64; |
AW: Firemonkey Frame Fehler (Android)
Irgendetwas muss mit dem Frame falsch sein, denn bevor ich diesen Frame eingefügt habe hatte ich keine Probleme mit dem kompilieren. Ich finde aber die Lösung nicht.
|
AW: Firemonkey Frame Fehler (Android)
Was für eien XML-Bibliothek ist den eingestellt?
|
AW: Firemonkey Frame Fehler (Android)
Ich habe keine Bibliothek, da ich die XML Dateien aus dem Internet bekomme. Das müsste doch in den Uses stehen,oder?
|
AW: Firemonkey Frame Fehler (Android)
Ich benutze keine Bibliothek, da ich alle Daten aus dem Internet bekomme.
|
AW: Firemonkey Frame Fehler (Android)
Liste der Anhänge anzeigen (Anzahl: 1)
Doch indirekt. XMLDocument verwendet eine XML-Bibliothek; ich vermute da ist der Provider MSXML eingestellt.
|
AW: Firemonkey Frame Fehler (Android)
Bei mir werden die XML Dokumente nicht im Formular, sondern mit XMLlogin := NewXMLDocument; erstellt. Wo kann man dies nachsehen, wenn die automatisch erstellt werden?
|
AW: Firemonkey Frame Fehler (Android)
Kennst Du die Hilfe?
Zitat:
|
AW: Firemonkey Frame Fehler (Android)
Wir reden aneinander vorbei. Vor der Einfügung des Frames lief alles zu 100%. In meiner Hauptunit habe ich oft mit XML-Dateien gearbeitet und hatte keine Probleme damit.Auch das kompilieren in Android hat super geklappt. Warum sollten die XML-Dateien den Fehler liefern wenn sie davor gut funktioniert haben?
|
AW: Firemonkey Frame Fehler (Android)
Ich wollte ja nur helfen.
Also viel Glück noch! |
AW: Firemonkey Frame Fehler (Android)
Das war nicht als Beleidigung gemeint, sondern als Fehlerbeschreibung.:(
Ich benötige ja dringend Hilfe zu diesem Thema, aber ich weiß auch, dass meine XML-Dateien soweit in Ordnung sind. Dies ist ein größeres Projekt, was ich Stück für Stück aufbauen möchte. Ich Danke dir auch für deine Hilfe und möchte auch nur etwas zu der Fehlerbeschreibung aufbauen,also sei bitte nicht enttäuscht von meinem Kommentar vorhin. |
AW: Firemonkey Frame Fehler (Android)
Und die Suche hier im Forum oder bei Tante Google bringt da nix? (nur so als Wink mit dem Zaunpfahl)
|
AW: Firemonkey Frame Fehler (Android)
Es liegt hier dran
Delphi-Quellcode:
Im Internet steht ich muss die SDK aktuallisieren. Nur habe ich keine Ahnung wie dies Geht
[DCC Fataler Fehler] F2588 Linker-Fehlercode: 1 ($00000001)
Tools>Optionen>SDK und weiter? |
AW: Firemonkey Frame Fehler (Android)
Das löschen der SDK hat leider auch nichts bewirkt. Und JA ich habe gegoogelt und in DP nachgesehen. Leider haben mir diese Ergebnisse nicht weiter geholfen:(. Habt ihr noch eine andere Idee um diese Fehlermeldung verschwinden zu lassen:cry:
|
AW: Firemonkey Frame Fehler (Android)
Sollen der adb-Speicherort, der aapt-Speicherort und der Sdk-api-Level Speicherort leer bleiben?
|
AW: Firemonkey Frame Fehler (Android)
Ich habe in meinem Leben das RAD Studio nie etwas anderes als Windows ausspucken lassen, deshalb kann ich speziell zu Android nichts sagen.
Deshalb stochere ich nur etwas im Dunklen:
|
AW: Firemonkey Frame Fehler (Android)
Zitat:
Wenn du deinen Code in Module unterteilst, dann kannst du durch Austauschen der echten Module gegen Dummy-Module schauen, wo genau das Problem liegt. Ein simples Modul wäre ja das Beschaffen der Events:
Delphi-Quellcode:
Der Service als Interface
unit Event;
interface type TEvent = class private FShowID : Integer; FEventID : Integer; FEventName : string; FSiteID : Integer; FMediaNumber : Integer; FLanguageVersionID : Integer; FShowTime : TDateTime; public constructor Create( ShowID, SiteID, EventID, MediaNumber, LanguageVersionID : Integer; ShowTime : TDateTime; EventName : string ); property ShowID : Integer read FShowID; property ShowTime : TDateTime read FShowTime; property SiteID : Integer read FSiteID; property EventID : Integer read FEventID; property EventName : string read FEventName; property MediaNumber : Integer read FMediaNumber; property LanguageVersionID : Integer read FLanguageVersionID; end; implementation { TEvent } constructor TEvent.Create( ShowID, SiteID, EventID, MediaNumber, LanguageVersionID : Integer; ShowTime : TDateTime; EventName : string ); begin inherited Create; FShowID := ShowID; FSiteID := SiteID; FEventID := EventID; FMediaNumber := MediaNumber; FLanguageVersionID := LanguageVersionID; FShowTime := ShowTime; FEventName := EventName; end; end.
Delphi-Quellcode:
Und einen Testservice, damit wir nicht immer auf den Webservice zugreifen müssen und ganz wichtig die Anwendung unabhängig vom Webservice prüfen können.
unit EventService;
interface uses Event; type IEventService = interface ['{601B8893-EB6D-4582-AC17-65DB0D09DD4F}'] function GetEvents( EventID : Integer; FromDate, ToDate : TDate ) : TArray<TEvent>; end; implementation end.
Delphi-Quellcode:
Und ein kleiner Test sieht dann so aus:
unit TestEventService;
interface uses System.Generics.Collections, Event, EventService; type TTestEventService = class( TInterfacedObject, IEventService ) public function GetEvents( EventID : Integer; FromDate : TDate; ToDate : TDate ) : TArray<TEvent>; end; implementation uses System.SysUtils; { TTestEventService } function TTestEventService.GetEvents( EventID : Integer; FromDate, ToDate : TDate ) : TArray<TEvent>; var LEvents : TList<TEvent>; begin // Build some Dummy Events LEvents := TList<TEvent>.Create; try LEvents.Add( TEvent.Create( 1, 1, EventID, 1, 1234, FromDate + EncodeTime( 14, 0, 0, 0 ), 'Dummy-Event 1' ) ); LEvents.Add( TEvent.Create( 2, 1, EventID, 1, 1234, FromDate + EncodeTime( 15, 0, 0, 0 ), 'Dummy-Event 2' ) ); LEvents.Add( TEvent.Create( 3, 1, EventID, 1, 1234, FromDate + EncodeTime( 16, 0, 0, 0 ), 'Dummy-Event 3' ) ); Result := LEvents.ToArray; finally LEvents.Free; end; end; end.
Delphi-Quellcode:
Wenn das alles läuft, dann testet man das mit dem echten Service. Und wenn es dabei dann zu Fehler kommt (beim Erzeugen, zur Laufzeit) dann muss man wohl an diesen Service ran.
program dp_181082;
{$APPTYPE CONSOLE} {$R *.res} uses System.Generics.Collections, System.SysUtils, EventService in 'EventService.pas', Event in 'Event.pas', TestEventService in 'TestEventService.pas', WebEventService in 'WebEventService.pas'; procedure ShowEvents( EventService : IEventService ); var LEvents : TList<TEvent>; LEvent : TEvent; begin LEvents := TObjectList<TEvent>.Create( True ); try LEvents.AddRange( EventService.GetEvents( 1, EncodeDate( 2014, 01, 01 ), EncodeDate( 2014, 01, 02 ) ) ); for LEvent in LEvents do begin Writeln( LEvent.ShowID, '-', FormatDateTime( 'dd.mm.yyyy hh:nn', LEvent.ShowTime ), '-', LEvent.EventName ); end; finally LEvents.Free; end; end; begin try ShowEvents( TTestEventService.Create ); except on E : Exception do Writeln( E.ClassName, ': ', E.Message ); end; ReadLn; end. |
AW: Firemonkey Frame Fehler (Android)
So. Jetzt habe ich die Lösung. Ich habe SDK noch einmal gelöscht, das Programm geschlossen, den Computer neu gestartet und Delphi neu angemacht. Jetzt geht alles wieder wie gehabt. Jetzt stelle ich mir die Frage warum diese Fehlermeldung aufgetreten ist. Kann es mir jemand erklären?
ps: Die Pfade sind verloren gegangen. Jetzt sind sie wieder in der SDK |
AW: Firemonkey Frame Fehler (Android)
Zitat:
|
AW: Firemonkey Frame Fehler (Android)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 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