AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi die aufzurufende funktion wurde vom linker entfernt
Thema durchsuchen
Ansicht
Themen-Optionen

die aufzurufende funktion wurde vom linker entfernt

Ein Thema von EWeiss · begonnen am 1. Mai 2017 · letzter Beitrag vom 2. Mai 2017
Antwort Antwort
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
793 Beiträge
 
#1

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 15:51

Ein gs[0] := TSprite.Create; machst du aber schon irgendwo?
Nein mache ich nicht.
Wo soll die Objektinstanz dann herkommen?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:02

Ein gs[0] := TSprite.Create; machst du aber schon irgendwo?
Nein mache ich nicht.
Wo soll die Objektinstanz dann herkommen?
Jo schon richtig..
Nur dann müsste ich für jede FData[abs(index)] die Classe TSprite erstellen.
Irgendwie ist die Classe so nicht verwendbar. Hmmm..
So wie die aufgebaut ist kann ich NUR Negative werte inklusive 0 verwenden.
Die Icons haben aber Positive werte > max 100.


Delphi-Quellcode:
constructor TNegativeArray.Create(aLenght: Integer);
var
  i: Integer;
begin

  MaxValue := IIF(aLenght > 6, aLenght, 0); //Eigentlich quatsch da die Classe nur Negative werte unterstützt 7 wäre in dem Fall dann -7 und nicht 1 wie benötigt.
  SetLength(FData, aLenght);
  for i := 0 to aLenght do
    FData[i] := TSprite.create;
end;
Aber trotzdem wird set und getData entfernt.
Siehe Pic.


gruss

Geändert von EWeiss (11. Jul 2019 um 15:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.055 Beiträge
 
Delphi 12 Athens
 
#3

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:16
Wo wird denn GetData verwendet? Ich sehe nur die Verwendung von FData.

Wenn du die Property published machst, wird sie auch immer einkompiliert.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
bepe

Registriert seit: 17. Okt 2006
119 Beiträge
 
#4

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:20
Dein Problem ist das der Index nicht stimmt und somit dein Assertion auslöst. Deine Methoden werden also nicht vom Linker entfernt. Aber du hast keine blauen Punkte weil die Methoden als Inline markiert sind.

Wäre jetzt meine wilde Vermutung, basierend auf dem Screenshot....

mfg,
bp
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:20
Wo wird denn GetData verwendet? Ich sehe nur die Verwendung von FData.

Wenn du die Property published machst, wird sie auch immer einkompiliert.
Das geht nicht.

Zitat:
[DCC Warnung] uSprite.pas(92): W1055 PUBLISHED verursachte, dass RTTI ($M+) zu Typ 'TNegativeArray' hinzugefügt wurde
[DCC Fehler] uSprite.pas(93): E2188 Published-Eigenschaft 'Data' kann nicht vom Typ ARRAY sein

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:22
Zitat:
Deine Methoden werden also nicht vom Linker entfernt
Doch!
Das wird mir angezeigt wenn ich mit der Maus über gS[0].Bitmap := dem Bitmap gehe.

gruss
  Mit Zitat antworten Zitat
bepe

Registriert seit: 17. Okt 2006
119 Beiträge
 
#7

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:26
Zitat:
Deine Methoden werden also nicht vom Linker entfernt
Doch!
Das wird mir angezeigt wenn ich mit der Maus über gS[0].Bitmap := dem Bitmap gehe.

gruss
Das hat nix zu sagen (vermutlich wegen dem Inline). Aber wenn dein Screenshot keine "Fälschung" ist, dann wurde Zeile 291 ausgeführt. Und die befindet sich in einer der vermeintlich entfernten Methoden.

mfg,
bp
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:31
Zitat:
Deine Methoden werden also nicht vom Linker entfernt
Doch!
Das wird mir angezeigt wenn ich mit der Maus über gS[0].Bitmap := dem Bitmap gehe.

gruss
Das hat nix zu sagen (vermutlich wegen dem Inline). Aber wenn dein Screenshot keine "Fälschung" ist, dann wurde Zeile 291 ausgeführt. Und die befindet sich in einer der vermeintlich entfernten Methoden.
Ich habe das Inline entfernt trotzdem bekomme ich gleiche Fehlermeldung.
Assertion failed.

getData ist jetzt aktiviert ändert aber nichts.
Ich glaube es ist besser den Code komplett umzuschreiben und die Classe in die Tonne werf wenn ich keine praktikable Lösung finde.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#9

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 16:34
Inline ... da gibt es eben nicht DIE eine Methode, sondern viele Kopieen davon, innerhalb der aufrufenden Codestellen.

[edit]
erst hängt das Netz und sind Viele hier voll gemein und antworten einfach so zwischendurch.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz