AGB  ·  Datenschutz  ·  Impressum  







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

die aufzurufende funktion wurde vom linker entfernt

Ein Thema von EWeiss · begonnen am 1. Mai 2017 · letzter Beitrag vom 2. Mai 2017
Antwort Antwort
Seite 2 von 7     12 34     Letzte » 
EWeiss
(Gast)

n/a Beiträge
 
#11

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17: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
118 Beiträge
 
#12

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17: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
 
#13

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17: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
43.017 Beiträge
 
Delphi 12 Athens
 
#14

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
647 Beiträge
 
#15

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17:35
Setze jetzt mal einen Haltepunkt auf assert(..) und schaue ob dort ein positiver Index kommt.
  Mit Zitat antworten Zitat
bepe

Registriert seit: 17. Okt 2006
118 Beiträge
 
#16

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17:39
Das Inline ist nicht schuld. Es ist das Assert. Da kommt vermutlich ein positiver Wert rein. Aber mit deinem Assert stellst du sicher, das nur negative Werte und Null akzeptiert werden.

Da du da eh noch ein Abs hast, sind die Asserts falsch und überflüssig

mfg,
bp
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#17

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17:39
Setze jetzt mal einen Haltepunkt auf assert(..) und schaue ob dort ein positiver Index kommt.
Nein ich sagte schon es kracht direkt.

Mit Inline kann ich eh keinen Haltepunkt setzen.
Ohne Inline kann ich Haltepunkte bei getData setzen. (Aber es kracht bei Assertion.
setData hingegen ist immer noch ausgeschlossen kann keinen Haltepunkt setzen.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#18

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 17:44
Da du da eh noch ein Abs hast, sind die Asserts falsch und überflüssig
Habe diese deaktiviert läuft jetzt durch.
Obwohl der Kram immer noch entfernt wird.
Ich werde die Classe verwerfen das macht keinen sinn.

Für mein anderes Problem mache ich einen neuen Thread auf.
Danke.

Zitat:
erst hängt das Netz und sind Viele hier voll gemein und antworten einfach so zwischendurch.
So ein Ärger aber auch!

gruss

Geändert von EWeiss ( 1. Mai 2017 um 20:02 Uhr)
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
156 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 20:06
Da du da eh noch ein Abs hast, sind die Asserts falsch und überflüssig
Sind Sie nicht. Die ursprüngliche Frage (in einem anderen Thread) war die Verwendung ausschließlich negativer Indicies für das Array, zu nichts anderem ist die Klasse gut. Positive Indizies werden nicht unterstützt.

In der Zwischenzeit sollen wohl auch Indizies > 0 verwendet werden. Ohne Translation der Indizies adressieren die Positionen -X und X die gleiche Zelle im Array, es sollen aber - soweit ich verstehe was er will - unterschiedliche Daten an -X und X gespeichert werden. Durch das Assert wäre ihm das wenigstens aufgefallen, ohne Assert ist der Fehler später viel schwerer zu erkennen.

cu Ha-Jö
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#20

AW: die aufzurufende funktion wurde vom linker entfernt

  Alt 1. Mai 2017, 20:27
Da du da eh noch ein Abs hast, sind die Asserts falsch und überflüssig
Positive Indizies werden nicht unterstützt.

cu Ha-Jö
Ja und das ist mein Problem daher muss ich trotz deiner guten Arbeit die Classe verwerfen.

Zum besseren Verständnis.
Hier werden die Bitmap Ressourcen addiert die für das Window später verwendet werden.
Die Values gehen von -5 > 0

Delphi-Quellcode:
procedure AddChildControls();
begin

  gs := TNegativeArray.Create(6); // -5 to 0

  gS[0].Bitmap := SKAERO_CreateBitmapFromFile(FolderResource + 'UseBack.png', width, height);
  gS[0].w := width;
  gS[0].h := height;
  gS[0].x := 0;
  gS[0].y := MAX(YMIN_SIZE - gS[0].h, 0);
  gS[0].opacity := 255;

  gS[ID_LEFT].x := 0;
  gS[ID_LEFT].y := YMIN_SIZE - 25;
  gS[ID_LEFT].opacity := 128;
  gS[ID_LEFT].Bitmap := SKAERO_CreateBitmapFromFile(FolderResource + 'Left.png', width, height);
  gS[ID_LEFT].w := width;
  gS[ID_LEFT].h := height;

  gS[ID_RIGHT].x := gS[0].w - gS[ID_LEFT].w;
  gS[ID_RIGHT].y := YMIN_SIZE - 25;
  gS[ID_RIGHT].opacity := 128;
  gS[ID_RIGHT].Bitmap := SKAERO_CreateBitmapFromFile(FolderResource + 'Right.png', width, height);
  gS[ID_RIGHT].w := width;
  gS[ID_RIGHT].h := height;

  gS[ID_FLARE].x := 0;
  gS[ID_FLARE].y := 16;
  gS[ID_FLARE].opacity := 200;
  gS[ID_FLARE].Bitmap := SKAERO_CreateBitmapFromFile(FolderResource + 'Flare.png', width, height);
  gS[ID_FLARE].w := width;
  gS[ID_FLARE].h := height;

  gS[ID_BLUEFLARE].Bitmap := SKAERO_CreateBitmapFromFile(FolderResource + 'BlueFlare.png', width, height);
  gS[ID_BLUEFLARE].w := width;
  gS[ID_BLUEFLARE].h := height;
  gS[ID_BLUEFLARE].x := 0;
  gS[ID_BLUEFLARE].y := YMIN_SIZE - (gS[ID_BLUEFLARE].h + 3);
  gS[ID_BLUEFLARE].opacity := 255;

  gS[ID_FOCUS].Bitmap := SKAERO_CreateBitmapFromFile(FolderResource + 'Focus.png', width, height);
  gS[ID_FOCUS].w := width;
  gS[ID_FOCUS].h := height;
  gS[ID_FOCUS].x := 0;
  gS[ID_FOCUS].y := YMIN_SIZE - (gS[ID_FOCUS].h + 4);
  gS[ID_FOCUS].opacity := 128;

end;
Das Problem mit dieser Classe ist das ich NUR Negative Values addieren kann.
Bsp.
Icons werden addiert.

Delphi-Quellcode:
    if CreateBarIcon(sIconSearch, nFound) then
    begin
      inc(nCount);
      //Setlength(gS, nCount); funktioniert nicht mher wegen der neuen Classe

      gS[nCount].y := nHeight;
      gS[nCount].SCALE := SCALE_DEFAULT;
      gS[nCount].opacity := 255;
      sUseThumb := sTempPath + 'OTTB ' + IntToStr(nFound) + '.png';
      gS[nCount].Bitmap := CreateDockIcon(sUseThumb, gS[nCount].w, gS[nCount].h);

      DeleteFile(sUseThumb);

      if DoLnk then
        gS[nCount].ShellTo := Lowercase(sTarget);
Hier wird das Array normalerweise redimensioniert.
Wenn gS positive werte bekommt sind sie am ende doch Negativ bedingt durch die Classe.

Das Array gS muss eine Kombination von Negativen und Positiven werten sein.
Da das aber nicht geht werde ich wohl oder übel wieder alles umbauen müssen.

gruss
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:29 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