AGB  ·  Datenschutz  ·  Impressum  







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

Fehler im CB-Linker? Wo melden?

Ein Thema von messie · begonnen am 11. Feb 2010
Antwort Antwort
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Fehler im CB-Linker? Wo melden?

  Alt 11. Feb 2010, 10:18
Moin,

über eine Diskussion im Sourceforge-Forum für die CPort-Kompo bin ich auf ein merkwürdiges Verhalten des CB-Linkers gestoßen, das mit schon einmal aufgefallen ist. Jetzt, wo ich es zum wiederholten Mal sehe, wollte ich es mal zur Sprache bringen und klären, ob und wo ein Fehler stecken könnte.

Installiert man die CPort-Kompo für CB, bekommt man einen Linker-Fehler "unresolved external" der auf eine nicht vorhandene Funktion SetPortA verweist. Diese ist in der zugrundeliegenden Datei CPort.pas aber nicht vorhanden. Wohl gibt es dort eine Routine SetPort, die den ComPort setzen soll.

Der Linker verweist nun zunächst auf eine function SetPort in der winspool.h, die dort auf die API-Routine SetPortA verweist:
Code:
BOOL
WINAPI
SetPortA(
__in_opt   LPSTR    pName,
__in       LPSTR    pPortName,
            DWORD      dwLevel,
__in       LPBYTE     pPortInfo
);
BOOL
WINAPI
SetPortW(
__in_opt   LPWSTR    pName,
__in       LPWSTR    pPortName,
            DWORD      dwLevel,
__in       LPBYTE     pPortInfo
);
#ifdef UNICODE
#define SetPort SetPortW
#else
#define SetPort SetPortA
#endif // !UNICODE
Beim Linken scheint er dann korrekterweise die SetPortA zu ignorieren und referenziert auf SetPortW, dann fehlt aber wohl der noch vorhandene Verweis auf die SetPortA.

Durch Umbenennen von SetPort in der CPort.pas lässt sich das Problem umgehen. Nun habe ich das aber schon mindestens einmal gehabt (TMS unicode tools) und denke, das Linker-Verhalten ist fehlerhaft. Denn wenn jemand die Routine der winspool.h benutzen will, bekommt er ja vielleicht dasselbe Problem.

Bisher habe ich Fehler immer bei mir selbst gesucht und würde gerne mal eine Einschätzung dazu haben: ist das ein Fehler, wo kann man ihn melden und ist der evtl. schon bekannt?

Grüße, Messie
  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 11:57 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