logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Async32 dla Delphi 6! :( Kompilacja źródeł z D3 na D6

lukzak2298 20 Wrz 2006 23:57 2936 6
REKLAMA
  • #1 3041179
    lukzak2298
    Poziom 18  
    Posty: 667
    Pomógł: 5
    Ocena: 91
    Readme:
    Cytat:
    ******************************************************************************
    VARIAN ASYNC32 COMPONENT v1.26
    (c) VARIAN SOFTWARE SERVICES NL 1996-1997
    ALL RIGHTS RESERVED
    ******************************************************************************

    Subject: Async32 Component
    Version: 1.25
    Platform: Delphi 3, Win95, NT
    Date: 2 June 1997
    Last update: 16st December 1997
    Release: Freeware, just let us know what you think of it....

    if you make any modifications to the source, please send us a copy.
    We will verify your changes and give you proper credit when included.

    Please send any questions, remarks or suggestions to our following
    address: Varian(_at_)worldaccess.nl

    See WHATSNEW.TXT for the latest updates...

    ----------------------------------------------------------------------------
    Our thanks goes to all the people who helped creating and
    testing this component for their support and suggestions.

    VARIAN(_at_)WORLDACCESS.NL
    ----------------------------------------------------------------------------


    ***



    WhatsNew:
    Cytat:
    *******************************************************************************
    VARIAN ASYNC32 COMPONENT v1.26
    (c) VARIAN SOFTWARE SERVICES NL 1996-1997
    ALL RIGHTS RESERVED
    *******************************************************************************


    ** Version 1.26

    - First, our special thanks goes to:

    Laco Laszlo
    Czech Republic
    E-mail: lacola(_at_)usa.net

    David J Rose
    Senior Software Engineer
    NexSys
    E-mail: DavidRose(_at_)nexsys.demon.co.uk

    and all the others who contributed their suggestions...


    - implementation of Exceptions and Handling

    - Removed OnOpenEvent, Error parameter replaced by exceptions.
    ProviderSubtype parameter replaced by public property

    - Fixed write statement bug by setting the WriteCommTimeouts <> 0

    - Write statement now reports the correct number of bytes send

    - The read and write statements now report an errorcode -1 when IO is pending
    instead of returning zero bytecount. This gives the application the
    opportunity to simply resend or cancel the operation.

    - Moved the XonChar and XOffChar to a new class object "TCommEventChars"

    - Changed properties WriteBufferSize, ReadBufferSize in WriteBufSize, ReadBufSize.

    - Removed all numeric "32" references, TComm32 is now called TComm.

    - Changed CommEscapeFunctions DTR, RTS, BREAK, XON functions in procedures
    procedure SetDTRState(State: Boolean);
    procedure SetRTSState(State: Boolean);
    procedure SetBREAKState(State: Boolean);
    procedure SetXONState(State: Boolean);

    - Added help documentation regarding properties, methods and events.

    - Some internal syntaxis rewrites


    HISTORY


    * VERSION 1.01

    - The Thread is now created in a "suspended" state and is
    resumed after initialization of all variables.
    By Gary Weinfurther <gary@mich.com>

    - Added additional code to Escapecomm function <BREAK> to ensure
    correct dataflow.

    - Rewritten the "write" procedure. It should work fine now.

    - Updated the demo program to test XON/XOFF flags.


    * VERSION 1.0

    -Changed the receive part for the demo application.

    -added device indentification to OpenEvent, see provider subtypes for
    more info.

    -added device DCB profile to open procedure

    -added additional port-settings through "Options" property

    -added missing escapecomm function "xon/xoff"

    -the component waited (infinite) for write operations to be completed after
    XOff or Break. Fixed.
    The function now returns zero bytes written on an IOPending event.
    Initial idea by Piet Jansen <pietjans@tref.nl>

    -Removed "signal" extensions from event properties.
    sorry for the inconvenience this may cause.

    -Moved Event calls to dynamic procedures in order to enhance inheritance.
    Initial idea by Tim Evans <vgs.mil@interbusiness.it>

    -Removed some Delphi VCL units from the uses clause.

    -Added handshake handling
    by Gyula Mészáros (Mr. InnMaxX), Hungary
    e-mail: 100263.1465(_at_)compuserve.com



    ***


    Spis plików na załączonym obrazku:


    Komponent wyraźnie dla Delphi 3. Kiedy go instaluje na Delphi 6 to jakieś errory wyskakują:
    Cytat:
    [Error] Async32.pas(487): Types of actual and formal var parameters must be identical
    [Error] Async32.pas(509): Constant expression violates subrange bounds
    [Error] Async32.pas(517): Types of actual and formal var parameters must be identical
    [Error] Async32.pas(523): Types of actual and formal var parameters must be identical
    [Fatal Error] Comm.dpk(34): Could not compile used unit 'Async32.pas'


    Wszystkie wersje async32 jakie udało mi się ściągnąć pod D6 w ogóle nie mają pliku Async32,pas tylko jakieś inne. Co z tym robić?

    Jednym z moich zadań jest przekompilowanie tego kodu programu na Delphi 6. I to już chyba ostatni komponent z którym nie potrafie sobie poradzić. Program jest dość skomplikowany żeby zastosować inny komponent, poza tym nie mam w domu nawet tego urządzenia na którym trzeba by przetestować łączność RS232.

    Załączam mój komponent z D3 i proszę o jakąkolwiek pomoc!

    [/img]
    Załączniki:
    • Async32.rar (43.51 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Async32 dla Delphi 6! :( Kompilacja źródeł z D3 na D6 async32.jpg (14.11 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 3042405
    JacOwcz
    Poziom 12  
    Posty: 30
    Pomógł: 2
    Ocena: 1
    Musisz zastosować komponent do Delphi 6 i mieć nadzieję że to wystarczy :D
    Wydaje mi się że podstawowe funkcje nie zmieniły się za bardzo, trudno wyrokować co będzie z Twoim programem.

    Dołączam bibliotekę i miłej zabawy.
    Załączniki:
    • as200d6.zip (441.71 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • REKLAMA
  • #4 3047836
    DariuszEE
    Poziom 17  
    Posty: 347
    Pomógł: 5
    Ocena: 33
    zainstaluj ten z 3 w delphi 6
    Fakt po zamknięciu i otwarciu na nowo delphi będzie zgłaszać błędy

    Ale jak zainstalujesz nie zamykając
    i to prawdopodobnie uda Ci się skompilować pisany program

    Miałem podobne kłopoty z 5
    i tak robiłem
    bo korzystałem z bardzo fajnego komponentu który nie istniał dla 5

    Darek
  • REKLAMA
  • #6 3057338
    JacOwcz
    Poziom 12  
    Posty: 30
    Pomógł: 2
    Ocena: 1
    Cały czas nie rozumiem dlaczego uparłeś się na plik źródłowy. Masz przecież dostępne dla Delphi 6 skompilowane moduły które mają już wbudowane te same funkcje (albo ich odpowiedniki). Źródło miałoby sens gdyby było coś modyfikowane w nim przez autora programu. Może po prostu zobacz co robi która funkcja i znajdź odpowiednik w komponencie do D6, zamiast miotac się nie wiadomo po co w poszukiwaniu źródła. A jak dojdziesz co program robi, to i format danych łatwiej będzie dopasować.

Podsumowanie tematu

✨ Dyskusja dotyczy problemów z kompilacją i użyciem komponentu Async32 przeznaczonego dla Delphi 3 w środowisku Delphi 6. Użytkownik poszukuje pliku źródłowego async32.pas, którego brakuje w dostępnych wersjach komponentu dla Delphi 6, co utrudnia przekompilowanie i dostosowanie kodu do nowszej wersji Delphi. Wskazano, że podstawowe funkcje komponentu prawdopodobnie nie uległy znaczącym zmianom, jednak pojawiają się błędy związane z niezgodnością typów danych. Sugerowano instalację komponentu Delphi 3 w Delphi 6 bez zamykania środowiska, co może umożliwić kompilację programu mimo błędów. Zwrócono uwagę, że zamiast szukać źródła, warto wykorzystać dostępne skompilowane moduły dla Delphi 6, które oferują podobne funkcje, oraz dostosować program do ich użycia. Problem jest istotny ze względu na konieczność obsługi komunikacji RS232 w skomplikowanym programie, dla którego nie ma możliwości testowania na docelowym urządzeniu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA